最近做一个项目,要用到分页功能,参考了很多方法,有的不合适,有的不喜欢,于是自己在他们的基础上整了一个;思路是这样的:先把需要分页的数据或是记录都查询出来 存入一个集合类里如List或是Vector,然后利用其sublist(int findex,int eindex)方法,获取需要分页的数据或记录,关于sublist()函数就自己去查API了。下面贴下代码吧,首先是将分页所需的一些个东东抽象出一个javabean对象—PageBean:
public class PageBean {
private int curPage; //当前页
private int pageCount; //总页数
private int rowsCount; //总行数
private int pageSize=10; //每页多少行
public PageBean(int rows){
this.setRowsCount(rows);
if(this.rowsCount % this.pageSize == 0){
this.pageCount=this.rowsCount / this.pageSize;
}
else if(rows
this.pageCount=1;
}
else{
this.pageCount=this.rowsCount / this.pageSize +1;
}
}
public int getCurPage() {
return curPage;
}
public void setCurPage(int curPage) {
this.curPage = curPage;
}
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 getRowsCount() {
return rowsCount;
}
public void setRowsCount(int rowsCount) {
this.rowsCount = rowsCount;
}
}
分页显示:
List clist=adminbiz.queryNotFullCourse();//将查询结果存放在List集合里
PageBean pagebean=new PageBean(clist.size());//初始化PageBean对象
//设置当前页
pagebean.setCurPage(page); //这里page是从页面上获取的一个参数,代表页数
//获得分页大小
int pagesize=pagebean.getPageSize();
//获得分页数据在list集合中的索引
int firstIndex=(page-1)*pagesize;
int toIndex=page*pagesize;
if(toIndex>clist.size()){
toIndex=clist.size();
}
if(firstIndex>toIndex){
firstIndex=0;
pagebean.setCurPage(1);
}
//截取数据集合,获得分页数据
Li