读书人

jsp数目字分页类 jdbcTemplate演示

发布时间: 2012-09-15 19:09:28 作者: rapoo

jsp数字分页类 jdbcTemplate演示

jsp数目字分页类 jdbcTemplate演示

下面第一个文件是pageSupport主要处理各种参数

package net.spring.service;import java.util.List;public class pageSupport { int pagesize=2;//每页条数 int totalCount;//总条数 int curPage;//当前页数 int pageCount;//总页数 List datas;//记录集 public pageSupport(int startpage,int pagesizes,int count){    this.setPagesize(pagesizes);  this.setTotalCount(count);  this.pageCount=count/pagesizes+1;  this.setCurPage(startpage); } public int getPageCount() {  return pageCount; } public void setPageCount(int pageCount) {  this.pageCount = pageCount; } public int getPagesize() {  return pagesize; } public void setPagesize(int pagesize) {  this.pagesize = pagesize; } public int getTotalCount() {  return totalCount; } public void setTotalCount(int totalCount) {  this.totalCount = totalCount; } public int getCurPage() {  return curPage; } public void setCurPage(int curPage) {  if(curPage<=0)   curPage=0;  if(curPage>this.getPageCount())   curPage=this.getPageCount();  this.curPage = curPage; } public List getDatas() {  return datas; } public void setDatas(List datas) {  this.datas = datas; } }

这是调用方法

调用的时候传入当前的页面http://index.html?page=2 比如这个 传入的是page这参数也就是 startpage这个变量对应的

              int startpage=Integer.parseIn(response.Parameter(page)), pagesize=5//this.geCount()是一个得到总记录数的函数,自己写。pageSupport pSupport=new pageSupport(startpage,pagesize,this.getCount());  String sql="select * from table limit ?,?";  List list=//这里需要自己把数据库记录读出来并返回list形式                                                                               jdbcTemplate.queryForList(sql,    new Object[]{(pSupport.getCurPage()-1)*pagesize  ,pagesize});  pSupport.setDatas(list);
<%--数字分页形式开始 --%><%!// @listNum=3;底下 1 2 3 等// @thePageUrl:url拼凑字符串.    如:request.getRequestURI()+"?Page=";// @pageClass="Page":当页数字CSS类// @pageCount:总页数// @showPage:当前要显示的页数public String getPage(int listNum,String thePageUrl,String pageClass,int pageCount,int showPage){String result="";if(pageCount<=listNum){   for(int i=1;i<=pageCount;i++)   {     if(i==showPage)     {     result=result+"<span class="+pageClass+">"+i+"</span> ";     }     else     {     result=result+"<a href="+thePageUrl+i+">["+i+"]</a> ";     }   }   return result;}else if(pageCount>listNum){//这里根据showPage作出相应判断int FromListNum;if(showPage%listNum!=0) //这里根据求余判断当前页应该在那个分页列表里,如应该在1-5里面还是6-10{FromListNum=(showPage/listNum)*listNum+1;}else{FromListNum=(showPage/listNum)*listNum-listNum+1;}   int ToListNum=FromListNum+listNum-1;   if(pageCount>=ToListNum)   {     if(FromListNum!=1)     {      result=result+"<a href="+thePageUrl+"1 title=首页><FONT face=webdings>9</FONT></a> ";        result=result+"<a href="+thePageUrl+(FromListNum-1)+" title=上"+listNum+"页><FONT face=webdings>7</FONT></a> ";     }     else     {      result=result+"<FONT face=webdings>9</FONT> ";      result=result+"<FONT face=webdings>7</FONT> ";     }    for(int i=FromListNum;i<=ToListNum;i++)    {      if(i==showPage)      {       result=result+"<span class="+pageClass+">"+i+"</span> ";      }      else      {       result=result+"<a href="+thePageUrl+i+">["+i+"]</a> ";      }    }    result=result+"<a href="+thePageUrl+(ToListNum+1)+" title=下"+listNum+"页><FONT face=webdings>8</FONT></a> ";    result=result+"<a href="+thePageUrl+pageCount+" title=末页><FONT face=webdings>:</FONT></a> ";    return result;   }else   {    result=result+"<a href="+thePageUrl+"1 title=首页><FONT face=webdings>9</FONT></a> ";    result=result+"<a href="+thePageUrl+(FromListNum-1)+" title=上"+listNum+"页><FONT face=webdings>7</FONT></a> ";     for(int i=FromListNum;i<=pageCount;i++)     {       if(i==showPage)       {        result=result+"<span class="+pageClass+">"+i+"</span> ";       }       else       {        result=result+"<a href="+thePageUrl+i+">["+i+"]</a> ";       }     }   result=result+"<FONT face=webdings>8</FONT> ";   result=result+"<FONT face=webdings>:</FONT> ";   return result;   }}return "";}%><%--数字分页形式结束 --%> 

读书人网 >其他数据库

热点推荐