<display:table></display:table> 分页跳转的测试

来源:互联网 发布:python招聘工资怎么样 编辑:程序博客网 时间:2024/06/04 19:02

后台变量为:

设置table 的id为“workOverTime” 分页跳转的页面的rul为delWorkOverTime.htm,每页的条数为pagesize=2;总共的条数为resultSize;总页数pages

当前页的页数 后台实现为:

//获取分页的页号的变量名

String pageIndexName = new ParamEncoder("workOverTime")
  .encodeParameterName(TableTagParameters.PARAMETER_PAGE);//分页必备
获取分页的前台传回来的参数;  

String p=request.getParameter(pageIndexName);

获取当前页
  int cuPage = GenericValidator.isBlankOrNull(request
    .getParameter(pageIndexName)) ? 1 : (Integer.parseInt(request
    .getParameter(pageIndexName)));//当前页

结果集

workOverTimeList 获取当前页下的结果 通过hibernate的

Query query = session.createSQLQuery(sql.toString()).addEntity(WorkOverTime.class);
   query.setFirstResult((page-1)*pagesize);
   query.setMaxResults(pagesize);

通过这个获取当前页的数据。

<display:table name="workOverTimeList" id="workOverTime" requestURI="delWorkOverTime.htm"
                        cellpadding="0" cellspacing="0"
      pagesize="2" export="false" partialList="true" size="resultSize"
      style="border-collapse: collapse;width:100%;nowrap"
      >

设置displaytag.properties

paging.banner.first=

<span class="pagelinks">[首页/上一页] {0} [<a href="{3}" id="pageno">下一页</a>/<a href="{4}">末页</a>]&nbsp;&nbsp;<input type="text" class="text" size="3" name="pages"><input  class="btn1_mouseout"  type="button" value="跳转" name="btn_goto" onclick="return getpage(document.location.href)"></span>

paging.banner.full=

<span class="pagelinks">[<a href="{1}"  id="pageno">首页</a>/<a href="{2}">上一页</a>] {0} [<a href="{3}">下一页</a>/<a href="{4}">末页</a>]&nbsp;&nbsp;<input type="text" class="text" size="3" name="pages"><input  class="btn1_mouseout"  type="button" value="跳转" name="btn_goto"  onclick="return getpage(document.location.href)"></span>

paging.banner.last=

<span class="pagelinks">[<a href="{1}" id="pageno">首页</a>/<a href="{2}">上一页</a>] {0} [下一页/末页]&nbsp;&nbsp;<input type="text" class="text" size="3" name="pages"><input  class="btn1_mouseout"  type="button" value="跳转" name="btn_goto"   onclick="return getpage(document.location.href)"></span>

前台页面的javascript的判断如下:

 function getpage(ahref){
     if(document.all.pages.value==""||document.all.pages.value==null){
          alert("请输入要跳转的页号");
          document.all.pages.focus();
          return false;
      }else{
           var str = document.getElementById("pageno");
          if(isNaN(document.all.pages.value)){
               alert("页号只能是数字");
              document.all.pages.focus();
              document.all.pages.select();
              return false;
          }else{
           var reg = /^[1-9]\d*$/;
               if(!reg.test(document.all.pages.value)){
                  alert("页号只能是正整数");
                  return false;
               }
              var pages = ${pages};         
              if(parseInt(document.all.pages.value)>pages){
                  alert("页号大于总页数");
                  document.all.pages.focus();
                  document.all.pages.select();
                  return false;
              }else if(parseInt(document.all.pages.value)<1){
               alert("页号小于最小页数");
               document.all.pages.focus();
               document.all.pages.select();
               return false;
              }else{
               if(str.toString().substr(str.toString().lastIndexOf("-p")+4,1)=='&'){
       document.location.href=str.toString().substr(0,str.toString().lastIndexOf("-p")+3)+document.all.pages.value+str.toString().substr(str.toString().lastIndexOf("-p")+4,str.toString().length-1);
         }else{
       document.location.href=str.toString().substr(0,str.toString().lastIndexOf("-p")+3)+document.all.pages.value;
            }  
                     return true;           
                    }
                    }
                    }
                    }

原创粉丝点击