Java分页

java 分页类

java pojo..

Java代码   收藏代码
  1. package com.xyx.common;  
  2.   
  3. import java.util.List;  
  4.   
  5. /** 
  6.  * 分页 
  7.  * @author jaychaoqun 
  8.  * 
  9.  */  
  10. public class Pager {  
  11.   
  12.     private int total_page;     //总页数  
  13.     private int total_count;    //总记录数  
  14.     private int current_page;   //当前页  
  15.     private int page_size;      //每页的数量  
  16.     private int first_page;  
  17.     private int pre_page;  
  18.     private int next_page;  
  19.     private int last_page;  
  20.     private boolean is_first;  
  21.     private boolean is_last;  
  22.     private List list;  
  23.       
  24.     public List getList() {  
  25.         return list;  
  26.     }  
  27.     public void setList(List list) {  
  28.         this.list = list;  
  29.     }  
  30.     public int getTotal_page() {  
  31.         return total_page;  
  32.     }  
  33.     public void setTotal_page(int total_page) {  
  34.         this.total_page = total_page;  
  35.     }  
  36.     public int getTotal_count() {  
  37.         return total_count;  
  38.     }  
  39.     public void setTotal_count(int total_count) {  
  40.         this.total_count = total_count;  
  41.     }  
  42.     public int getCurrent_page() {  
  43.         return current_page;  
  44.     }  
  45.     public void setCurrent_page(int current_page) {  
  46.         this.current_page = current_page;  
  47.     }  
  48.     public int getPage_size() {  
  49.         return page_size;  
  50.     }  
  51.     public void setPage_size(int page_size) {  
  52.         this.page_size = page_size;  
  53.     }  
  54.     public int getFirst_page() {  
  55.         return first_page;  
  56.     }  
  57.     public void setFirst_page(int first_page) {  
  58.         this.first_page = first_page;  
  59.     }  
  60.     public int getPre_page() {  
  61.         return pre_page;  
  62.     }  
  63.     public void setPre_page(int pre_page) {  
  64.         this.pre_page = pre_page;  
  65.     }  
  66.     public int getNext_page() {  
  67.         return next_page;  
  68.     }  
  69.     public void setNext_page(int next_page) {  
  70.         this.next_page = next_page;  
  71.     }  
  72.     public int getLast_page() {  
  73.         return last_page;  
  74.     }  
  75.     public void setLast_page(int last_page) {  
  76.         this.last_page = last_page;  
  77.     }  
  78.     public boolean isIs_first() {  
  79.         return is_first;  
  80.     }  
  81.     public void setIs_first(boolean is_first) {  
  82.         this.is_first = is_first;  
  83.     }  
  84.     public boolean isIs_last() {  
  85.         return is_last;  
  86.     }  
  87.     public void setIs_last(boolean is_last) {  
  88.         this.is_last = is_last;  
  89.     }  
  90.       
  91.     /** 
  92.      * 分页处理 
  93.      * @param current_page 当前页 
  94.      * @param page_size 每页的数量 
  95.      * @param total_count 总记录数 
  96.      */  
  97.     public void paging(int current_page, int page_size, int total_count){  
  98.         this.current_page = current_page;  
  99.         this.page_size = page_size;  
  100.         this.total_count = total_count;  
  101.           
  102.         if(current_page < 1){  
  103.             this.current_page = 1;  
  104.         }  
  105.           
  106.         this.total_page = (this.total_count + page_size - 1)/page_size;  
  107.         this.first_page =1;  
  108.         this.last_page = total_page;  
  109.           
  110.         if(this.current_page > 1){  
  111.             this.pre_page = this.current_page - 1;  
  112.         }else{  
  113.             this.pre_page = 1;  
  114.         }  
  115.           
  116.         if(this.current_page < total_page){  
  117.             this.next_page = this.current_page + 1;   
  118.         }else{  
  119.             this.next_page = total_page;  
  120.         }  
  121.           
  122.         if(this.current_page <= 1){  
  123.             this.is_first = true;  
  124.         }else{  
  125.             this.is_first = false;  
  126.         }  
  127.           
  128.         if(this.current_page >= total_page){  
  129.             this.is_last = true;  
  130.         }else{  
  131.             this.is_last = false;  
  132.         }  
  133.     }  
  134.       
  135. }  

 

数据访问dao,,使用分类类

Java代码   收藏代码
  1. /** 
  2.      * pager query 
  3.      * @param current_page 
  4.      * @param page_size 
  5.      * @return 
  6.      */  
  7.     public Pager getStuList(int current_page,int page_size){  
  8.         Pager pager = new Pager();  
  9.         Session se = HibernateSessionFactory.getSession();  
  10.         int total_count = Integer.parseInt(se.createSQLQuery("select count(*) from t_student")  
  11.                             .list()  
  12.                             .get(0)  
  13.                             .toString()  
  14.                         );  
  15.         List list = se.createQuery("from Student")  
  16.           .setMaxResults(page_size)  
  17.           .setFirstResult((current_page-1)*page_size)  
  18.           .list();  
  19.         pager.paging(current_page, page_size, total_count);  
  20.         pager.setList(list);  
  21.         HibernateSessionFactory.closeSession();  
  22.         return pager;  
  23.     }  

 

这个dao方法返回一个分页对象,在action可以把分页对象射在request里,

Java代码   收藏代码
  1. public String stuInfoList() throws Exception{  
  2.         StudentDao dao = new StudentDao();  
  3.         Pager pager = dao.getStuInfoList(current_page, 10,class_id,ids);  
  4.         ServletActionContext.getRequest().setAttribute("pager", pager);  
  5.         return "stuInfoList";  
  6.     }  

 

jsp显示:

Html代码   收藏代码
  1. 总数:[${requestScope.pager.total_count}]&nbsp;  
  2.     当前页数:[${requestScope.pager.current_page}/${requestScope.pager.total_page}]&nbsp;  
  3.     <s:if test="#request.pager.is_first == false">  
  4.     <a href="student!stuList.action?current_page=${requestScope.pager.first_page}">第一页</a>   
  5.     <a href="student!stuList.action?current_page=${requestScope.pager.pre_page}">上一页</a>  
  6.     </s:if>  
  7.     <s:if test="#request.pager.is_last == false">  
  8.     <a href="student!stuList.action?current_page=${requestScope.pager.next_page}">下一页</a>  
  9.     <a href="student!stuList.action?current_page=${requestScope.pager.last_page}">最后一页&nbsp;</a>  
  10.     </s:if>  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值