写个JSP分页,给大家分享分享 ,页面内需要有两个参数 当前页currentPage和总页数pages
分页逻辑如下,简而易懂
//首页 上一页
//如果总页数小于5,全部输出
//else if currentPage+3>pages 输出最后5页
//else if currentPage-2<=0 输出1-5页
//else 输出 currentPage-2到currentPage+2页
//尾页 下一页
页面显示 首页 , 上一页 1 2 3 4 5 下一页 尾页
<div class="page mt10">
<div class="pagination02">
<ul>
<li class="first-child"><a href="#">当前第 <%=currentPage%> 页,总共 <%=pages%> 页。</a></li>
</ul>
</div>
<div class="pagination" style="margin-right:0px;width:580px;">
<ul>
<%
if(currentPage <=1 ){
//首页 上一页 不可点击
%> <li class="first-child disabled"><span>首页</span></li>
<li class="disabled"><span>上一页</span></li><%
}else{
//首页 上一页 可点击
%>
<li class="first-child"><a href="#" onclick="setPage(1);" >首页</a></li>
<li><a href="#" onclick="setPage(<%=currentPage-1%>);" >上一页</a></li>
<%
}
//如果总页数小于5,全部输出
//else if currentPage+3>pages 输出最后5页
//else if currentPage-2>0 输出 currentPage-2到currentPage+2页
//else 输出1-5页
if(pages<=5){
for(int i=1;i<=pages;i++){
//输出1-5页
%>
<li><a href="#" onclick="setPage('<%=i%>');"><%=i%></a></li>
<%
}
}else if(currentPage+3>pages){
for(int i=pages-4;i<=pages;i++){
//输出最后5页
%>
<li><a href="#" onclick="setPage('<%=i%>');"><%=i%></a></li>
<%
}
}else if(currentPage-2<=0){
//输出1-5页
for(int i=1;i<=5;i++){
%>
<li><a href="#" onclick="setPage('<%=i%>');"><%=i%></a></li>
<%
}
}else{
for(int i=currentPage-2;i<=currentPage+2;i++){
//输出currentPage-2到currentPage+2页
%>
<li><a href="#" onclick="setPage('<%=i%>');"><%=i%></a></li>
<%
}
}
if(currentPage == pages){
//下一页 尾页 不可点击
%>
<li class="disabled"><span>下一页</span></li>
<li class="last-child disabled"><span>末页</span></li>
<%
}else{
//下一页 尾页 可点击
%>
<li><a href="#" onclick="setPage(<%=currentPage+1 %>)">下一页</a></li>
<li class="last-child"><a href="#" onclick="setPage(<%=pages %>)">末页</a></li>
<%
}
%>
</ul>
</div>
</div>
执行效果如下:
当前第10页,总共10页 首页 上一页 1 2 3 4 5 下一页 尾页