Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 949|回复: 0

完全用JSTL实现的分页技术

[复制链接]

该用户从未签到

发表于 2011-10-20 11:01:34 | 显示全部楼层 |阅读模式
当然前提是要加入 核心标签库 。<%@ tablib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

当然了,这里要接收参数,所以要传递5个必要的参数即可,完全不必在JSP页面中加入java代码,很给力的!帮助学习JSTL标签最好的事例了。

<c:set var="total" value="${param.total}"/>
<!--接收参数pageSize,每页最多显示的记录数-->
<c:set var="pageSize" value="${param.pageSize}"/>
<!--接收参数pageEnumShow,每次枚举的页面索引数-->
<c:set var="pageEnumShow" value="${param.pageEnumShow}"/>
<!--接收参数pageUrl,要分页的页面URL-->
<c:set var="pageUrl" value="${param.pageUrl}"/>
<c:choose>
<c:when test="${total > 0}">
  <c:choose>
    <c:when test="${total % pageSize == 0}">
      <c:set var="pageTotal" value="${total / pageSize}"/>
    </c:when>
    <ctherwise>
      <c:set var="pageTotal" value="${(total - total % pageSize) / pageSize + 1}"/>
    </c:otherwise>
  </c:choose>
  <c:choose>
    <c:when test="${empty param.pageIndex}">
      <c:set var="pageIndex" value="1"/>
    </c:when>
    <c:otherwise>
      <c:set var="pageIndex" value="${param.pageIndex}"/>
    </c:otherwise>
  </c:choose>
  <table cellpadding="2" cellspacing="0">
    <tr>
      <c:choose>
        <c:when test="${pageTotal > pageEnumShow}">
          <c:choose>
            <c:when test="${pageTotal - pageEnumShow + 1 >= pageIndex}">
              <c:set var="pageStart" value="${pageIndex}"/>
              <c:set var="pageEnd" value="${pageIndex + pageEnumShow - 1}"/>
            </c:when>
            <c:otherwise>
              <c:set var="pageStart" value="${pageTotal - pageEnumShow + 1}"/>
              <c:set var="pageEnd" value="${pageTotal}"/>
            </c:otherwise>
          </c:choose>
        </c:when>
        <c:otherwise>
          <c:set var="pageStart" value="${pageIndex}"/>
          <c:set var="pageEnd" value="${pageTotal}"/>
        </c:otherwise>
      </c:choose>
      <c:if test="${pageIndex > 1}">
        <td nowrap="nowrap">
          <a href="${pageUrl}?pageIndex=${pageIndex - 1}">
            <img alt="" src="images/prev.gif" border="0"/>
            <br/>
            <span style="font-size: 12pt;font-weight:bold"&gtrevious</span>
          </a>
        </td>
      </c:if>
      <c:forEach begin="${pageStart}" end="${pageEnd}" var="i">
        <td nowrap="nowrap">
          <c:choose>
            <c:when test="${i == pageIndex && pageIndex == 1}">
              <img alt="" src="images/first.gif" border="0"/>
              <br/>
              1
            </c:when>
            <c:when test="${pageIndex != i}">
              <a href="${pageUrl}?pageIndex=${i}">
                <img alt="" src="images/page.gif" border="0"/>
                <br/>
                <c:out value="${i}"/>
              </a>
            </c:when>
            <c:when test="${pageIndex == i && pageIndex != pageTotal}">
              <img alt="" src="images/current.gif" border="0"/>
              <br/>
              <c:out value="${i}"/>
            </c:when>
            <c:when test="${pageIndex == pageTotal && pageIndex == i}">
              <img alt="" src="images/last.gif" border="0"/>
              <br/>
              <c:out value="${pageIndex}"/>
            </c:when>
          </c:choose>
        </td>
      </c:forEach>
      <c:if test="${pageIndex < pageTotal}">
        <td nowrap="nowrap">
          <a href="${pageUrl}?pageIndex=${pageIndex + 1}">
            <img alt="" src="images/next.gif" border="0"/>
            <br/>
            <span style="font-size: 12pt;font-weight:bold">Next</span>
          </a>
        </td>
      </c:if>
    </tr>
  </table>
</c:when>
<c:otherwise>
  暂无任何记录 !!
</c:otherwise>
</c:choose>
回复

使用道具 举报

该用户从未签到

发表于 2011-10-21 19:22:52 | 显示全部楼层
正在学这个啊。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-5-14 16:50 , Processed in 0.388482 second(s), 45 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表