page_nav.jsp 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <%--
  2. Created by IntelliJ IDEA.
  3. User: x'b'w
  4. Date: 2021/6/27
  5. Time: 20:06
  6. To change this template use File | Settings | File Templates.
  7. --%>
  8. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  9. <%-- 分页开始--%>
  10. <div id="page_nav">
  11. <c:if test="${requestScope.page.pageNo >1}">
  12. <a href="${requestScope.page.url}&pageNo=1">首页</a>
  13. <a href="${requestScope.page.url}&pageNo=${requestScope.page.pageNo-1}">上一页</a>
  14. </c:if>
  15. <%--页码输出的开始--%>
  16. <c:choose>
  17. <%--情况 1:如果总页码小于等于 5 的情况,页码的范围是:1-总页码--%>
  18. <c:when test="${ requestScope.page.pageTotal <= 5 }">
  19. <c:set var="begin" value="1"/>
  20. <c:set var="end" value="${requestScope.page.pageTotal}"/>
  21. </c:when>
  22. <%--情况 2:总页码大于 5 的情况--%>
  23. <c:when test="${requestScope.page.pageTotal > 5}">
  24. <c:choose>
  25. <%--小情况 1:当前页码为前面 3 个:1,2,3 的情况,页码范围是:1-5.--%>
  26. <c:when test="${requestScope.page.pageNo <= 3}">
  27. <c:set var="begin" value="1"/>
  28. <c:set var="end" value="5"/>
  29. </c:when>
  30. <%--小情况 2:当前页码为最后 3 个,8,9,10,页码范围是:总页码减 4 - 总页码--%>
  31. <c:when test="${requestScope.page.pageNo > requestScope.page.pageTotal-3}">
  32. <c:set var="begin" value="${requestScope.page.pageTotal-4}"/>
  33. <c:set var="end" value="${requestScope.page.pageTotal}"/>
  34. </c:when>
  35. <%--小情况 3:4,5,6,7,页码范围是:当前页码减 2 - 当前页码加 2--%>
  36. <c:otherwise><c:set var="begin" value="${requestScope.page.pageNo-2}"/>
  37. <c:set var="end" value="${requestScope.page.pageNo+2}"/>
  38. </c:otherwise>
  39. </c:choose>
  40. </c:when>
  41. </c:choose>
  42. <c:forEach begin="${begin}" end="${end}" var="i">
  43. <c:if test="${i == requestScope.page.pageNo}">
  44. 【${i}】
  45. </c:if>
  46. <c:if test="${i != requestScope.page.pageNo}">
  47. <a href="${requestScope.page.url}&pageNo=${i}">${i}</a>
  48. </c:if>
  49. </c:forEach>
  50. <%--页码输出的结束--%>
  51. <c:if test="${requestScope.page.pageNo < requestScope.page.pageTotal}">
  52. <a href="${requestScope.page.url}&pageNo=${requestScope.page.pageNo+1}">下一页</a>
  53. <a href="${requestScope.page.url}&pageNo=${requestScope.page.pageTotal}">末页</a>
  54. </c:if>
  55. 共${requestScope.page.pageTotal}页,${requestScope.page.pageTotalCount}条记录
  56. 到第<input value="${param.pageNo}" name="pn" id="pn_input"/>页
  57. <input id="searchPageBtn" type="button" value="确定">
  58. <script type="text/javascript">
  59. $(function (){
  60. //跳到指定页码
  61. $("#searchPageBtn").click(function (){
  62. var pageNo = $("#pn_input").val();
  63. <%--var pageTotal = ${requestScope.page.pageTotal};--%>
  64. location.href="http://localhost:8089/TestServlet09_war_exploded/${requestScope.page.url}&pageNo=" + pageNo;
  65. });
  66. });
  67. </script>
  68. </div>
  69. <%-- 分页介绍--%>