分页的逻辑判断

业务逻辑

//   1 2 3 4 5          2 3 4 5 6        3 4 5 6 7     

int startPageNum =1;//起始页
int endPageNum =5;//结束页
//pageNum为当前页码
if(pageNum-2>1){
startPageNum = pageNum-2;
endPageNum = pageNum+2;
}
//page.getTotalPageNum是总页数
if(pageNum+2>page.getTotalPageNum()){
startPageNum = page.getTotalPageNum()-4;
endPageNum = page.getTotalPageNum();
}

if(page.getTotalPageNum()<5){
startPageNum =1;
endPageNum = page.getTotalPageNum();

}

页面逻辑

<div align="center">
当前第${page.pageNum }页
<c:if test="${page.pageNum>1 }">
<a href="${pageContext.request.contextPath }/clazzList?pageNum=${page.pageNum-1}">上一页</a>
</c:if>
<c:forEach var ="num" begin="${page.startPageNum }" end="${page.endPageNum }">
<c:choose>
<c:when test="${num==page.pageNum }">
[${num }]
</c:when>
<c:otherwise>

<a href="${pageContext.request.contextPath }/clazzList?pageNum=${num}">[${num }]</a>
</c:otherwise>
</c:choose>

</c:forEach>


<c:if test="${page.pageNum<page.totalPageNum }">
<a href="${pageContext.request.contextPath }/clazzList?pageNum=${page.pageNum+1}">下一页</a>
</c:if>
共${page.totalPageNum }页
</div>

猜你喜欢

转载自blog.csdn.net/zxk1995/article/details/80780976