在学习分页的时候,有一个小需求:
***页码模块,显示5个页码,当前页码着重显示
效果图:
思路:既然要显示5个页码,那么就要考虑页码总数(pageTotal)小于等于5和大于5 两种情况
- 情况一:pageTotal<=5
. 直接遍历,对所有的页码做判断,是当前页(pageNo),就着重显示
- 情况二:pageTotal>5
此时,页码肯定都>5,理想情况当前页码,应该在中间:效果图如下:
但是当当前页码是最前面2个,或者最后2个的时候,在保证显示5个页码的情况下,效果图如下:
当前页码不是在最中间,所以分三种情况:具体代码如下:
<c:choose>
<%-- 当总页面<=5页的时候--%>
<c:when test="${requestScope.page.pageTotal<= 5}">
<c:forEach begin="1" end="${requestScope.page.pageTotal}" var="i">
<c:if test="${requestScope.page.pageNo == i}">
<a>[${
i}]</a>
</c:if>
<c:if test="${requestScope.page.pageNo != i}">
<a href="manager/bookServlet?action=page&pageNo=${i}">${
i}</a>
</c:if>
</c:forEach>
</c:when>
<%-- 当总页面>5页的时候--%>
<c:when test="${requestScope.page.pageTotal > 5}">
<c:choose>
<