业务逻辑
// 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7
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>