javaweb前端页⾯的分页逻辑
1<div class="divBody">
2<div class="divContent">
3<!--上⼀页 -->
4<c:choose><!-- page是你通过查询出来当前页得所有的对象数据  pagenum是当前页如果=1  那么(上⼀页)的没有连接的显⽰出来 -->
5<c:when test="${page.pagenum eq 1 }">
6<span class="spanBtnDisabled">上⼀页</span>
7</c:when>
8<!-- 否则显⽰有链接的上⼀页那么连接传值就(当前页-1)就好了 -->
9<c:otherwise>
10<a href="你要访问的servlet或者action&pagenum=${pager.pagenum-1}" class="aBtn bold">上⼀页</a>
11</c:otherwise>
12</c:choose>
13
14
15<!--
16我们需要计算页码列表的开始和结束位置,即两个变量begin和end
17计算它们需要通过当前页!
18下⾯试⼀页⾯只显⽰6页为依据当然你想显⽰多少就显⽰多少可以⾃⼰设置
19    1. 总页数不⾜6页-> begin=1, end=最⼤页
20    2. 通过公式设置begin和end,begin=当前页pagenum-2,end=当前页pagrnum+3
21    3. 如果begin<1,那么让begin=1,end=6
22    4. 如果end>最⼤页, 让begin=总页数-5, end=总页数
23
24总页数:page.pageCount
25当前页:page.pagenum
26-->
27<c:choose>
28<!-- 因为我们在页⾯上只显⽰6页的数据如果总页数⼩于6也的话  -->
29<c:when test="${总页数 <= 6 }">
30<c:set var="begin" value="1"/><!-- 设置begin的值是1 -->
31<c:set var="end" value="总页数"/><!-- 设置end的值是总页数 -->
32</c:when>
33<!-- 否则做以下事情 -->
34<c:otherwise>
35<!-- 如果总页数⼤于6的话在这⾥我们假设总页数为7页那么页⾯显⽰为1 2 3 4 5 6 ...
36我们来说⼀下⼏种发⽣的情况
37        1.当前页如果是第3页得话 bengin就是3-2=1 end就是3+3=6 那么页⾯显⽰就是 1 2 3 4 5 6 ...
38        2.当前页如果是第4页得话  begin就是4-2=2 end就是4+3=7 那么页⾯显⽰就是 2 3 4 5 6 7 没有省略号了 1和...消失
39        3.当前页如果是第5,6,7页得话  begin就是5-2=3 6-2=4 7-2=5 end就是5+3=8 6+3=9 7+3=10 但是最⼤页是7没有到8 9 10 就会出下以下判断页⾯显⽰  2 3 4 5 6 7
40        4.当前页如果是第1,2页得话  begin就是1-2=-1 和2-2=0  end就是1+3=4 2+3=5  但是开始页begin必须是1 满⾜不了情况就会出下以下判断页⾯显⽰ 1 2 3 4 5 6 ...
41-->
42<c:set var="begin" value="${当前页-2 }"/>
43<c:set var="end" value="${当前页 + 3}"/>
44<!-- 如果begin是-1和0的话⼩于1  那么就设置开始页begin为1  结束页end为6 页⾯显⽰1 2 3 4 5 6 ... -->
45<c:if test="${begin < 1 }">
46<c:set var="begin" value="1"/>
47<c:set var="end" value="6"/>
48</c:if>
49<!-- 如果结束end页⼤于了总页数也就是上⾯的第三种情况 end结束页为8 9 10的话超过总页数7 那么设置开始bengin为当前页就是总页数7-5=2 -->
50<!-- 结束就是总页数页⾯显⽰为 2 3 4 5 6 7  -->
51<c:if test="${end > 总页数 }">
52<c:set var="begin" value="${总页数-5 }"/>
53<c:set var="end" value="${总页数 }"/>
54</c:if>
55</c:otherwise>
56</c:choose>
57
58<!-- 获取到begin和end的值循环 -->
59<c:forEach begin="${begin }" end="${end }" var="i">
60<c:choose>
60<c:choose>
61<c:when test="${i eq 当前页 }">
62<span class="spanBtnSelect">${i }</span><!-- 如果i等于当前页那就不给链接 -->
63</c:when>
64<c:otherwise>
65<a href="${你访问的action或者servlet }&pc=${i}" class="aBtn">${i }</a><!-- 否则就给链接 -->
66</c:otherwise>
67</c:choose>
68</c:forEach>
69
70<!-- 计算begin和end -->
71<!-- 如果总页数<=6,那么显⽰所有页码,即begin=1 end=${总页数} -->
72<!-- 设置begin=当前页码-2,end=当前页码+3 -->
73<!-- 如果begin<1,那么让begin=1 end=6 -->
74<!-- 如果end>最⼤页,那么begin=最⼤页-5 end=最⼤页 -->
75
76
77<!-- 如果结束页⼩于总页数7 那么显⽰... -->
78<!-- 显⽰点点点 --->
79<c:if test="${end < 总页数 }">
80<span class="spanApostrophe">...</span>
81</c:if>
web前端和java哪个难82
83<!--下⼀页 -->
84<c:choose>
85<c:when test="${当前页 eq 总页数 }"><span class="spanBtnDisabled">下⼀页</span></c:when>
86<c:otherwise><a href="${你要访问的action和servlet }&pagenum=${当前页+1}" class="aBtn bold">下⼀页</a></c:otherwise> 87</c:choose>
88
89<!-- 共N页到M页 -->
90<span>共${page.pageCount }页</span>
91<span>到</span>
92<input type="text" class="inputPageCode" id="pageCode" value="${当前页 }"/>
93<span>页</span>
94<a href="javascript:_go();" class="aSubmit">确定</a>
95</div>
96</div>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。