一个百度一样的分页

  <table align="center"> 
     <tr align="center">
     
      <td align="center">
      <%
        Pager pagees=(Pager)request.getAttribute("page");
        int pn=pagees.getNowPager();//当前页
        int pt=pagees.getTotalPage();//总页数
        int showNum=5;//所显示
        %>
        <%
        if(pagees.getNowPager()!=1){
        %>
        <s:a href="userList.action?pageNum=1">首页</s:a>
        <s:a href="userList.action?pageNum=%{page.nowPager-1}">上一页</s:a>
        <%} %>
        <%
        if(pn==1&&pt<showNum){//当前页面为第1页面,且总页面小于所显示页面
        for(int i=1;i<=pt;i++){
        if(pn==i){
        out.print("<span>"+i+"</span>");
        }else{
        out.print("<a href='userList.action?pageNum="+i+"'>["+i+"]</a>");
        }
         %>
        <%}}%>
        <%
        if(pn==1&&pt>=showNum){//当前页面为第1页面,且总页面大于所显示页面
        for(int i=1;i<=showNum;i++){
        if(pn==i){
        out.print("<span>"+i+"</span>");
        }else{
        out.print("<a href='userList.action?pageNum="+i+"'>["+i+"]</a>");
        }
         %>
        <%}}%>  
       
        <%
        if(pn==pt&&pt<showNum&&pn!=1){//当前页面为最后页面时且总页面小于所显示页数不为1
        for(int i=pt-pt+1;i<=pt;i++){
        if(pn==i){
        out.print("<span>"+i+"</span>");
        }else{
        out.print("<a href='userList.action?pageNum="+i+"'>["+i+"]</a>");
        }
        %>
        <%}} %>
        <%
        if(pn==pt&&pt>=showNum){//当前页面为最后页面时且总页面大于等于所显示页数时
        for(int i=pt-showNum+1;i<=pt;i++){
        if(pn==i){
        out.print("<span>"+i+"</span>");
        }else{
        out.print("<a href='userList.action?pageNum="+i+"'>["+i+"]</a>");
        }
        %>
        <%}} %>
        <%if(pn!=1&&pt!=pn&&pt<showNum){//当前不为首页也不为最后页,且总数小于所显示
        for(int i=1;i<=pt;i++){
        if(pn==i){
        out.print("<span>"+i+"</span>");
        }else{
        out.print("<a href='userList.action?pageNum="+i+"'>["+i+"]</a>");
        }
       
         %>
<%} }%>
 <%if(pn!=1&&pt!=pn&&pt>=showNum&&pn+showNum/2<=pt&&pn-showNum/2>=1){//当前不为首页也不为最后页,且总数大于等于所显示,且
        for(int i=pn-showNum/2;i<=pn+showNum/2;i++){
        if(pn==i){
        out.print("<span>"+i+"</span>");
        }else{
        out.print("<a href='userList.action?pageNum="+i+"'>["+i+"]</a>");
        }
       
         %>
<%} }%>
 
  <%if(pn!=1&&pt!=pn&&pt>=showNum&&pn-showNum/2<1){//当前不为首页也不为最后页,且总数大于等于所显示,左多
        for(int i=1;i<=showNum;i++){
        if(pn==i){
        out.print("<span>"+i+"</span>");
        }else{
        out.print("<a href='userList.action?pageNum="+i+"'>["+i+"]</a>");
        }
       
         %>
<%} }%>
 
<%if(pn!=1&&pt!=pn&&pt>=showNum&&pn+showNum/2>pt){//当前不为首页也不为最后页,且总数大于等于所显示,右多
        for(int i=pt-showNum+1;i<=pt;i++){
        if(pn==i){
        out.print("<span>"+i+"</span>");
        }else{
        out.print("<a href='userList.action?pageNum="+i+"'>["+i+"]</a>");
        }
       
         %>
<%} }%>
 
          <%              
          if(pagees.getTotalPage()!=1&&pagees.getNowPager()!=pagees.getTotalPage()){        
          %>
          <s:a href="userList.action?pageNum=%{page.nowPager+1}">下一页</s:a>
          <s:a href="userList.action?pageNum=%{page.totalPage}">末页</s:a>
          <%} %>
            ${page.nowPager}/${page.totalPage} 
             <input type="hidden" name="pageNum" value="" id="hiddenPageNum"/>
      </td>
     </tr>  
        </table>


我这里是用到的SSH框架写的,后台的Pager和查询数据的代码我就没有贴出来了,要是觉得有用自己写一下吧,也不是很难,做了下小测试,跟百度的分页效果一样 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值