分页功能的java实现

       最近做一个项目,要用到分页功能,参考了很多方法,有的不合适,有的不喜欢,于是自己在他们的基础上整了一个;思路是这样的:先把需要分页的数据或是记录都查询出来 存入一个集合类里如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.pageSize){ 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); } //截取数据集合,获得分页数据 List courseList=clist.subList(firstIndex, toIndex);

这就是分页的核心代码啦,根据不同的需要可以进行灵活的修改,欢迎大家给意见啊

 

你可能感兴趣的:(java,list,vector,api,Class)