日期:2014-05-16 浏览次数:20464 次
下面第一个文件是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> &q