分页

 import  java.math. * ;

 public   class  Pager   {
     private   int  totalRows;  // 总行数 
      private   int  pageSize  =   30 ;  // 每页显示的行数 
      private   int  currentPage;  // 当前页号 
      private   int  totalPages;  // 总页数 
      private   int  startRow;  // 当前页在数据库中的起始行 
     
     public  Pager()   {
    } 
    
     public  Pager( int  _totalRows)   {
        totalRows  =  _totalRows;
        totalPages = totalRows / pageSize;
         int  mod = totalRows % pageSize;
         if (mod < 0 )  {
            totalPages ++ ;
        } 
        currentPage  =   1 ;
        startRow  =   0 ;
    } 
    
     public   int  getStartRow()   {
         return  startRow;
    } 
      public   int  getTotalPages()   {
         return  totalPages;
    } 
      public   int  getCurrentPage()   {
         return  currentPage;
    } 
      public   int  getPageSize()   {
         return  pageSize;
    } 
      public   void  setTotalRows( int  totalRows)   {
         this .totalRows  =  totalRows;
    } 
      public   void  setStartRow( int  startRow)   {
         this .startRow  =  startRow;
    } 
      public   void  setTotalPages( int  totalPages)   {
         this .totalPages  =  totalPages;
    } 
      public   void  setCurrentPage( int  currentPage)   {
         this .currentPage  =  currentPage;
    } 
      public   void  setPageSize( int  pageSize)   {
         this .pageSize  =  pageSize;
    } 
      public   int  getTotalRows()   {
         return  totalRows;
    } 
      public   void  first()   {
        currentPage  =   1 ;
        startRow  =   0 ;
    } 
      public   void  previous()   {
         if  (currentPage  ==   1 )   {
             return ;
        } 
        currentPage -- ;
        startRow  =  (currentPage  -   1 )  *  pageSize;
    } 
      public   void  next()   {
         if  (currentPage  <  totalPages)   {
            currentPage ++ ;
        } 
        startRow  =  (currentPage  -   1 )  *  pageSize;
    } 
      public   void  last()   {
        currentPage  =  totalPages;
        startRow  =  (currentPage  -   1 )  *  pageSize;
    } 
      public   void  refresh( int  _currentPage)   {
        currentPage  =  _currentPage;
         if  (currentPage  <  totalPages)   {
            last();
        } 
    } 
}PagerService 类,主要有个 getPager 方法返回 Pager 类。代码如下:

 package  com.game.commons;

 public   class  PagerService   {
     public  Pager getPager(String currentPage,String pagerMethod, int  totalRows)   {
         //     定义pager对象,用于传到页面 
         Pager pager  =   new  Pager(totalRows);
         //     如果当前页号为空,表示为首次查询该页
         //     如果不为空,则刷新pager对象,输入当前页号等信息 
           if  (currentPage  !=   null )   {
            pager.refresh(Integer.parseInt(currentPage));
        } 
         //     获取当前执行的方法,首页,前一页,后一页,尾页。 
           if  (pagerMethod  !=   null )   {
             if  (pagerMethod.equals( " first " ))   {
                pager.first();
            }   else   if  (pagerMethod.equals( " previous " ))   {
                pager.previous();
            }   else   if  (pagerMethod.equals( " next " ))   {
                pager.next();
            }   else   if  (pagerMethod.equals( " last " ))   {
                pager.last();
            } 
        } 
         return  pager;
    } 
}

 

posted @ 2012-09-08 17:06  李白~~  阅读(317)  评论(0)    收藏  举报