任何人都可以提供一些想法/逻辑来编写页面的分页逻辑,以每页提取指定的记录,其使用 hibernate 提取记录精细表单数据库。我拥有的信息是该搜索的总页数 - 每页 10 条记录,我也收到了上一页和下一页的页码(编写逻辑没问题,我需要做的就是提取该信息并填充。我是也得到了我在哪个页面上的信息。我只能显示 10 个页面,如下所示
<previous 1 |2 |3 | 4| 5 | 6 | 7 | 8 | 9 | 10 next>
假设总页数为 15,当用户点击最后 10 页时,它需要像这样显示
<previous 2 |3 |4 |5 |6 |7 |8 |9 |10 |11 next>
这是我的jsp
<c:forEach var="status1" items="${list1}">
<c:set var="wins" ><fmt:parseNumber type="number" value="${status1.noOfPages}" /></c:set>
<c:set var="wins1" ><fmt:parseNumber type="number" value="${status1. currentpage}" /></c:set>
<%int i = 0;%>
<%int k = 0;%>
<%int l = 1;%>
<c:choose>
<c:when test="${wins1 eq 1}">
<a style="font-size: 18px;" href="#">[First]</a>
</c:when>
<c:otherwise>
<a style="font-size: 18px;" href=LibraryBookList.do?pageIndex=<%=l%>>[First]</a>
</c:otherwise>
</c:choose>
<c:choose>
<c:when test="${wins1 eq 1}">
<a href="#">[Previous]</a>
</c:when>
<c:otherwise>
<a href="LibraryBookList.do?pageIndex=${wins1-1}">[Previous]</a>
</c:otherwise>
</c:choose>
<c:forEach begin="1" end="${wins}" varStatus="loop">
<a style="font-size: 18px;" href=LibraryBookList.do?pageIndex=<%=++k%>><%=++i%></a>
</c:forEach>
<c:choose>
<c:when test="${wins1 eq wins}">
<a href="#">[Next]</a>
</c:when>
<c:otherwise>
<a href="LibraryBookList.do?pageIndex=${wins1+1}">[Next]</a>
</c:otherwise>
</c:choose>
<c:choose>
<c:when test="${wins1 eq wins}">
<a style="font-size: 18px;" href="#"/>>[Last]</a>
</c:when>
<c:otherwise>
<a style="font-size: 18px;" href=LibraryBookList.do?pageIndex=<c:out value="${wins}"/>>[Last]</a>
</c:otherwise>
</c:choose>
</c:forEach>