网站中如何实现分页

  最近做一个项目,要用到分页功能,参考了很多方法,有的不合适,有的不喜欢,于是自己在他们的基础上整了一个;思路是这样的:先把需要分页的数据或是记录都查询出来 存入一个集合类里如List或是Vector,然后利用其sublist(int findex,int eindex)方法,获取需要分页的数据或记录,关于sublist()函数就自己去查API了。下面贴下代码吧,首先是将分页所需的一些个东东抽象出一个javabean对象—PageBean:

 

[java]  view plain  copy
 
  1. public class PageBean {  
  2.     private int curPage;             //当前页  
  3.     private int pageCount;           //总页数  
  4.     private int rowsCount;           //总行数  
  5.     private int pageSize=10;         //每页多少行  
  6.       
  7.       
  8.       
  9.     public PageBean(int rows){  
  10.           
  11.         this.setRowsCount(rows);  
  12.         if(this.rowsCount % this.pageSize == 0){  
  13.             this.pageCount=this.rowsCount / this.pageSize;  
  14.         }  
  15.         else if(rows<this.pageSize){  
  16.             this.pageCount=1;  
  17.         }  
  18.         else{  
  19.             this.pageCount=this.rowsCount / this.pageSize +1;  
  20.         }  
  21.     }  
  22.       
  23.       
  24.     public int getCurPage() {  
  25.         return curPage;  
  26.     }  
  27.     public void setCurPage(int curPage) {  
  28.         this.curPage = curPage;  
  29.     }  
  30.     public int getPageCount() {  
  31.         return pageCount;  
  32.     }  
  33.     public void setPageCount(int pageCount) {  
  34.         this.pageCount = pageCount;  
  35.     }  
  36.     public int getPageSize() {  
  37.         return pageSize;  
  38.     }  
  39.     public void setPageSize(int pageSize) {  
  40.         this.pageSize = pageSize;  
  41.     }  
  42.     public int getRowsCount() {  
  43.         return rowsCount;  
  44.     }  
  45.     public void setRowsCount(int rowsCount) {  
  46.         this.rowsCount = rowsCount;  
  47.     }  
  48. }  

 

分页显示:

 

[java]  view plain  copy
 
  1. List clist=adminbiz.queryNotFullCourse();//将查询结果存放在List集合里  
  2. PageBean pagebean=new PageBean(clist.size());//初始化PageBean对象  
  3. //设置当前页  
  4. pagebean.setCurPage(page); //这里page是从页面上获取的一个参数,代表页数  
  5. //获得分页大小  
  6. int pagesize=pagebean.getPageSize();  
  7. //获得分页数据在list集合中的索引  
  8. int firstIndex=(page-1)*pagesize;  
  9. int toIndex=page*pagesize;  
  10. if(toIndex>clist.size()){  
  11.     toIndex=clist.size();  
  12. }  
  13. if(firstIndex>toIndex){  
  14.     firstIndex=0;  
  15.     pagebean.setCurPage(1);  
  16. }  
  17. //截取数据集合,获得分页数据  
  18. List courseList=clist.subList(firstIndex, toIndex);  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值