阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

分页-页码实现

100次阅读
没有评论

共计 933 个字符,预计需要花费 3 分钟才能阅读完成。

1、分页页码展示

1 2 3 4 5 6 7 8 9 10

2、最多显示多少个页码

定为 10;

3、当前页(锚点)

在页码列表中的位置,定为 6;

4、分页的开始页和结束页

只需要 当前位置页码 来定出来页码列表!

定下来页码列表只需要两样数据:

begin

end

10 11 12 13 14 (15) 16 17 18 19

需要使用 pc 来推算出 begin 和 end

begin = pc – 5

end = pc + 4

5、开始页和结束页的计算公式

  • 如果总页数 <=10(列表长度),那么 begin=1,end= 总页数
  • 使用公式计算;begin=pc-5, end=pc + 4;
  • 头溢出:当 begin<1 时,让 begin=1
  • 尾溢出:当 end>{tp}时,让 end={tp}
<%-- 计算 begin、end --%> <c:choose> <%-- 如果总页数不足 10 页,那么把所有的页数都显示出来!--%> <c:when test="${pb.tp <= 10}"> <c:set var="begin" value="1" /> <c:set var="end" value="${pb.tp}" /> </c:when> <c:otherwise> <%-- 当总页数 >10时,通过公式计算出 begin 和 end --%> <c:set var="begin" value="${pb.pc-5}" /> <c:set var="end" value="${pb.pc+4}" /> <%-- 头溢出 --%> <c:if test="${begin < 1}"> <c:set var="begin" value="1" /> <c:set var="end" value="10" /> </c:if> <%-- 尾溢出 --%> <c:if test="${end > pb.tp}"> <c:set var="begin" value="${pb.tp - 9}" /> <c:set var="end" value="${pb.tp}" /> </c:if> </c:otherwise> </c:choose> <%-- 循环遍历页码列表 --%> <c:forEach var="i" begin="${begin}" end="${end}"> <a href='<c:url value="/CustomerServlet?pc=${i}"/>'>${i}</a> </c:forEach>

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-06-06发表,共计933字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中