JSP 分页(一)

写个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  下一页  尾页




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值