分页显示一直是web开发中一大烦琐的难题,传统的网页设计只在一个JSP或者ASP页面中书写所有关于数据库操作的代码,那样做分页可能简单一点,但当把网站分层开发后,分页就比较困难了,下面是我做Spring+Hibernate+Struts2项目时设计的分页代码,与大家分享交流。
      
       1、DAO层接口的设计,在MemberDao接口中定义了如下两个方法:
    
![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/a1f351c222f2407bb0921afbb62a3c11.gif) public
      
      
        interface
      
      
        MemberDao
      
      
        
          {
      
        public
      
      
        interface
      
      
        MemberDao
      
      
        
          {
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) //
        
        
          省略了其他的代码
        
        
          //
        
        
          省略了其他的代码
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) 
        
        
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) public
        
        
          List queryForPage(
        
        
          final
        
        
          String hql,
        
        
          final
        
        
          int
        
        
          offset,
        
        
          final
        
        
          int
        
        
          length);
        
        
          public
        
        
          List queryForPage(
        
        
          final
        
        
          String hql,
        
        
          final
        
        
          int
        
        
          offset,
        
        
          final
        
        
          int
        
        
          length);
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) 
        
        
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) public
        
        
          int
        
        
          getAllRowCount(String hql);
        
        
          public
        
        
          int
        
        
          getAllRowCount(String hql);
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/6ef3fa81a0a443f497a39d5f4c0dd5c4.gif) }
          }
        
      
    2、DAO层实现类MemberDaoImpl对上面两个方法的实现如下:
![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/a1f351c222f2407bb0921afbb62a3c11.gif) public
      
      
        class
      
      
        MemberDaoImpl
      
      
        extends
      
      
        HibernateDaoSupport
      
      
        implements
      
      
        MemberDao
      
      
        
          {
      
        public
      
      
        class
      
      
        MemberDaoImpl
      
      
        extends
      
      
        HibernateDaoSupport
      
      
        implements
      
      
        MemberDao
      
      
        
          {
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) //
        
        
          省略了其他的代码
        
        
          //
        
        
          省略了其他的代码
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) 
        
        
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          List queryForPage(
        
        
          final
        
        
          String hql,
        
        
          final
        
        
          int
        
        
          offset,
        
        
          final
        
        
          int
        
        
          length)
        
        
          
            {
        
        
          public
        
        
          List queryForPage(
        
        
          final
        
        
          String hql,
        
        
          final
        
        
          int
        
        
          offset,
        
        
          final
        
        
          int
        
        
          length)
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) List list
          
          
            =
          
          
            getHibernateTemplate().executeFind(
          
          
            new
          
          
            HibernateCallback()
          
          
            
              {
            List list
          
          
            =
          
          
            getHibernateTemplate().executeFind(
          
          
            new
          
          
            HibernateCallback()
          
          
            
              {
              ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
            
            
              Object doInHibernate(Session session)
            
            
              throws
            
            
              HibernateException,SQLException
            
            
              
                {
            
            
              public
            
            
              Object doInHibernate(Session session)
            
            
              throws
            
            
              HibernateException,SQLException
            
            
              
                {
                ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) Query query
              
              
                =
              
              
                session.createQuery(hql);
                Query query
              
              
                =
              
              
                session.createQuery(hql);
                ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) query.setFirstResult(offset);
                query.setFirstResult(offset);
                ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) query.setMaxResults(length);
                query.setMaxResults(length);
                ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) List list
              
              
                =
              
              
                query.list();
                List list
              
              
                =
              
              
                query.list();
                ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) return
              
              
                list;
              
              
                return
              
              
                list;
                ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
                }
              
            
            
              ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            
          
          
            );
              }
            
          
          
            );
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) return
          
          
            list;
          
          
            return
          
          
            list;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) 
        
        
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          int
        
        
          getAllRowCount(String hql)
        
        
          
            {
        
        
          public
        
        
          int
        
        
          getAllRowCount(String hql)
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) return
          
          
            getHibernateTemplate().find(hql).size();
          
          
            return
          
          
            getHibernateTemplate().find(hql).size();
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/6ef3fa81a0a443f497a39d5f4c0dd5c4.gif) }
          }
        
      
    
       细心的读者会发现,这个类继承了HibernateDaoSupport类,HibernateDaoSupport是Spring提供的对Hibernate支持的类,getHibernateTemplate().executeFind(new HibernateCallback(){....})方法中的参数,我们使用了接口回调,在其参数内,我们能像原生的Hibernate一样调用query.setFirstResult(offset)和query.setMaxResults(length)来实现分页查询功能。
      
      
       3、下面我们来新建一个保存分页信息的类PageBean,具体代码如下:
    
![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/a1f351c222f2407bb0921afbb62a3c11.gif) public
      
      
        class
      
      
        PageBean
      
      
        
          {
      
        public
      
      
        class
      
      
        PageBean
      
      
        
          {
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) private
        
        
          List list;
        
        
          //
        
        
          要返回的某一页的记录列表
        
        
          private
        
        
          List list;
        
        
          //
        
        
          要返回的某一页的记录列表
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) private
        
        
          int
        
        
          allRow;
        
        
          //
        
        
          总记录数
        
        
          private
        
        
          int
        
        
          allRow;
        
        
          //
        
        
          总记录数
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) private
        
        
          int
        
        
          totalPage;
        
        
          //
        
        
          总页数
        
        
          private
        
        
          int
        
        
          totalPage;
        
        
          //
        
        
          总页数
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) private
        
        
          int
        
        
          currentPage;
        
        
          //
        
        
          当前页
        
        
          private
        
        
          int
        
        
          currentPage;
        
        
          //
        
        
          当前页
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) private
        
        
          int
        
        
          pageSize;
        
        
          //
        
        
          每页记录数
        
        
          private
        
        
          int
        
        
          pageSize;
        
        
          //
        
        
          每页记录数
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) private
        
        
          boolean
        
        
          isFirstPage;
        
        
          //
        
        
          是否为第一页
        
        
          private
        
        
          boolean
        
        
          isFirstPage;
        
        
          //
        
        
          是否为第一页
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) private
        
        
          boolean
        
        
          isLastPage;
        
        
          //
        
        
          是否为最后一页
        
        
          private
        
        
          boolean
        
        
          isLastPage;
        
        
          //
        
        
          是否为最后一页
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) private
        
        
          boolean
        
        
          hasPreviousPage;
        
        
          //
        
        
          是否有前一页
        
        
          private
        
        
          boolean
        
        
          hasPreviousPage;
        
        
          //
        
        
          是否有前一页
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) private
        
        
          boolean
        
        
          hasNextPage;
        
        
          //
        
        
          是否有下一页
        
        
          private
        
        
          boolean
        
        
          hasNextPage;
        
        
          //
        
        
          是否有下一页
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          List getList()
        
        
          
            {
        
        
          public
        
        
          List getList()
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) return
          
          
            list;
          
          
            return
          
          
            list;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          void
        
        
          setList(List list)
        
        
          
            {
        
        
          public
        
        
          void
        
        
          setList(List list)
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) this
          
          
            .list
          
          
            =
          
          
            list;
          
          
            this
          
          
            .list
          
          
            =
          
          
            list;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          int
        
        
          getAllRow()
        
        
          
            {
        
        
          public
        
        
          int
        
        
          getAllRow()
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) return
          
          
            allRow;
          
          
            return
          
          
            allRow;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          void
        
        
          setAllRow(
        
        
          int
        
        
          allRow)
        
        
          
            {
        
        
          public
        
        
          void
        
        
          setAllRow(
        
        
          int
        
        
          allRow)
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) this
          
          
            .allRow
          
          
            =
          
          
            allRow;
          
          
            this
          
          
            .allRow
          
          
            =
          
          
            allRow;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          int
        
        
          getTotalPage()
        
        
          
            {
        
        
          public
        
        
          int
        
        
          getTotalPage()
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) return
          
          
            totalPage;
          
          
            return
          
          
            totalPage;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          void
        
        
          setTotalPage(
        
        
          int
        
        
          totalPage)
        
        
          
            {
        
        
          public
        
        
          void
        
        
          setTotalPage(
        
        
          int
        
        
          totalPage)
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) this
          
          
            .totalPage
          
          
            =
          
          
            totalPage;
          
          
            this
          
          
            .totalPage
          
          
            =
          
          
            totalPage;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          int
        
        
          getCurrentPage()
        
        
          
            {
        
        
          public
        
        
          int
        
        
          getCurrentPage()
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) return
          
          
            currentPage;
          
          
            return
          
          
            currentPage;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          void
        
        
          setCurrentPage(
        
        
          int
        
        
          currentPage)
        
        
          
            {
        
        
          public
        
        
          void
        
        
          setCurrentPage(
        
        
          int
        
        
          currentPage)
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) this
          
          
            .currentPage
          
          
            =
          
          
            currentPage;
          
          
            this
          
          
            .currentPage
          
          
            =
          
          
            currentPage;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          int
        
        
          getPageSize()
        
        
          
            {
        
        
          public
        
        
          int
        
        
          getPageSize()
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) return
          
          
            pageSize;
          
          
            return
          
          
            pageSize;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          void
        
        
          setPageSize(
        
        
          int
        
        
          pageSize)
        
        
          
            {
        
        
          public
        
        
          void
        
        
          setPageSize(
        
        
          int
        
        
          pageSize)
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) this
          
          
            .pageSize
          
          
            =
          
          
            pageSize;
          
          
            this
          
          
            .pageSize
          
          
            =
          
          
            pageSize;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) 
        
        
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          void
        
        
          init()
        
        
          
            {
        
        
          public
        
        
          void
        
        
          init()
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) this
          
          
            .isFirstPage
          
          
            =
          
          
            isFirstPage();
          
          
            this
          
          
            .isFirstPage
          
          
            =
          
          
            isFirstPage();
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) this
          
          
            .isLastPage
          
          
            =
          
          
            isLastPage();
          
          
            this
          
          
            .isLastPage
          
          
            =
          
          
            isLastPage();
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) this
          
          
            .hasPreviousPage
          
          
            =
          
          
            isHasPreviousPage();
          
          
            this
          
          
            .hasPreviousPage
          
          
            =
          
          
            isHasPreviousPage();
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) this
          
          
            .hasNextPage
          
          
            =
          
          
            isHasNextPage();
          
          
            this
          
          
            .hasNextPage
          
          
            =
          
          
            isHasNextPage();
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) 
        
        
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          boolean
        
        
          isFirstPage()
        
        
          
            {
        
        
          public
        
        
          boolean
        
        
          isFirstPage()
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) return
          
          
            currentPage
          
          
            ==
          
          
            1
          
          
            ;
          
          
            //
          
          
            如是当前页是第1页
          
          
            return
          
          
            currentPage
          
          
            ==
          
          
            1
          
          
            ;
          
          
            //
          
          
            如是当前页是第1页
          
          
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
          
          
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          boolean
        
        
          isLastPage()
        
        
          
            {
        
        
          public
        
        
          boolean
        
        
          isLastPage()
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) return
          
          
            currentPage
          
          
            ==
          
          
            totalPage;
          
          
            //
          
          
            如果当前页是最后一页
          
          
            return
          
          
            currentPage
          
          
            ==
          
          
            totalPage;
          
          
            //
          
          
            如果当前页是最后一页
          
          
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
          
          
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          boolean
        
        
          isHasPreviousPage()
        
        
          
            {
        
        
          public
        
        
          boolean
        
        
          isHasPreviousPage()
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) return
          
          
            currentPage
          
          
            !=
          
          
            1
          
          
            ;
          
          
            //
          
          
            只要当前页不是第1页
          
          
            return
          
          
            currentPage
          
          
            !=
          
          
            1
          
          
            ;
          
          
            //
          
          
            只要当前页不是第1页
          
          
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
          
          
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          boolean
        
        
          isHasNextPage()
        
        
          
            {
        
        
          public
        
        
          boolean
        
        
          isHasNextPage()
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) return
          
          
            currentPage
          
          
            !=
          
          
            totalPage;
          
          
            //
          
          
            只要当前页不是最后1页
          
          
            return
          
          
            currentPage
          
          
            !=
          
          
            totalPage;
          
          
            //
          
          
            只要当前页不是最后1页
          
          
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
          
          
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) 
        
        
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          static
        
        
          int
        
        
          countTotalPage(
        
        
          final
        
        
          int
        
        
          pageSize,
        
        
          final
        
        
          int
        
        
          allRow)
        
        
          
            {
        
        
          public
        
        
          static
        
        
          int
        
        
          countTotalPage(
        
        
          final
        
        
          int
        
        
          pageSize,
        
        
          final
        
        
          int
        
        
          allRow)
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) int
          
          
            totalPage
          
          
            =
          
          
            allRow
          
          
            %
          
          
            pageSize
          
          
            ==
          
          
            0
          
          
            ?
          
          
            allRow
          
          
            /
          
          
            pageSize : allRow
          
          
            /
          
          
            pageSize
          
          
            +
          
          
            1
          
          
            ;
          
          
            int
          
          
            totalPage
          
          
            =
          
          
            allRow
          
          
            %
          
          
            pageSize
          
          
            ==
          
          
            0
          
          
            ?
          
          
            allRow
          
          
            /
          
          
            pageSize : allRow
          
          
            /
          
          
            pageSize
          
          
            +
          
          
            1
          
          
            ;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) return
          
          
            totalPage;
          
          
            return
          
          
            totalPage;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) 
        
        
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          static
        
        
          int
        
        
          countOffset(
        
        
          final
        
        
          int
        
        
          pageSize,
        
        
          final
        
        
          int
        
        
          currentPage)
        
        
          
            {
        
        
          public
        
        
          static
        
        
          int
        
        
          countOffset(
        
        
          final
        
        
          int
        
        
          pageSize,
        
        
          final
        
        
          int
        
        
          currentPage)
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) final
          
          
            int
          
          
            offset
          
          
            =
          
          
            pageSize
          
          
            *
          
          
            (currentPage
          
          
            -
          
          
            1
          
          
            );
          
          
            final
          
          
            int
          
          
            offset
          
          
            =
          
          
            pageSize
          
          
            *
          
          
            (currentPage
          
          
            -
          
          
            1
          
          
            );
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) return
          
          
            offset;
          
          
            return
          
          
            offset;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) 
        
        
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          static
        
        
          int
        
        
          countCurrentPage(
        
        
          int
        
        
          page)
        
        
          
            {
        
        
          public
        
        
          static
        
        
          int
        
        
          countCurrentPage(
        
        
          int
        
        
          page)
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) final
          
          
            int
          
          
            curPage
          
          
            =
          
          
            (page
          
          
            ==
          
          
            0
          
          
            ?
          
          
            1
          
          
            :page);
          
          
            final
          
          
            int
          
          
            curPage
          
          
            =
          
          
            (page
          
          
            ==
          
          
            0
          
          
            ?
          
          
            1
          
          
            :page);
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) return
          
          
            curPage;
          
          
            return
          
          
            curPage;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/6ef3fa81a0a443f497a39d5f4c0dd5c4.gif) }
          }
        
      
    
      
       4、Service层接口的设计:
    
![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/a1f351c222f2407bb0921afbb62a3c11.gif) public
      
      
        interface
      
      
        MemberService
      
      
        
          {
      
        public
      
      
        interface
      
      
        MemberService
      
      
        
          {
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) //
        
        
          省略其他的代码
        
        
          //
        
        
          省略其他的代码
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) 
        
        
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) public
        
        
          PageBean queryForPage(
        
        
          int
        
        
          pageSize,
        
        
          int
        
        
          currentPage);
        
        
          public
        
        
          PageBean queryForPage(
        
        
          int
        
        
          pageSize,
        
        
          int
        
        
          currentPage);
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/6ef3fa81a0a443f497a39d5f4c0dd5c4.gif) }
          }
        
      
    
      
       5、Service层实现类的部分内码如下:
    
![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/a1f351c222f2407bb0921afbb62a3c11.gif) public
      
      
        class
      
      
        MemberServiceImpl
      
      
        implements
      
      
        MemberService
      
      
        
          {
      
        public
      
      
        class
      
      
        MemberServiceImpl
      
      
        implements
      
      
        MemberService
      
      
        
          {
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) //
        
        
          通过applicationContext.xml配置文件注入MemberDao的值
        
        
          //
        
        
          通过applicationContext.xml配置文件注入MemberDao的值
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) private
        
        
          MemberDao memberDao;
        
        
          private
        
        
          MemberDao memberDao;
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          void
        
        
          setMemberDao(MemberDao memberDao)
        
        
          
            {
        
        
          public
        
        
          void
        
        
          setMemberDao(MemberDao memberDao)
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) this
          
          
            .memberDao
          
          
            =
          
          
            memberDao;
          
          
            this
          
          
            .memberDao
          
          
            =
          
          
            memberDao;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) 
        
        
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          PageBean queryForPage(
        
        
          int
        
        
          pageSize,
        
        
          int
        
        
          page)
        
        
          
            {
        
        
          public
        
        
          PageBean queryForPage(
        
        
          int
        
        
          pageSize,
        
        
          int
        
        
          page)
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) final
          
          
            String hql
          
          
            =
          
          
            "
          
          
            from Member
          
          
            "
          
          
            ;
          
          
            //
          
          
            查询语句
          
          
            final
          
          
            String hql
          
          
            =
          
          
            "
          
          
            from Member
          
          
            "
          
          
            ;
          
          
            //
          
          
            查询语句
          
          
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) int
          
          
            allRow
          
          
            =
          
          
            memberDao.getAllRowCount(hql);
          
          
            //
          
          
            总记录数
          
          
            int
          
          
            allRow
          
          
            =
          
          
            memberDao.getAllRowCount(hql);
          
          
            //
          
          
            总记录数
          
          
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) int
          
          
            totalPage
          
          
            =
          
          
            PageBean.countTotalPage(pageSize, allRow);
          
          
            //
          
          
            总页数
          
          
            int
          
          
            totalPage
          
          
            =
          
          
            PageBean.countTotalPage(pageSize, allRow);
          
          
            //
          
          
            总页数
          
          
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) final
          
          
            int
          
          
            offset
          
          
            =
          
          
            PageBean.countOffset(pageSize, page);
          
          
            //
          
          
            当前页开始记录
          
          
            final
          
          
            int
          
          
            offset
          
          
            =
          
          
            PageBean.countOffset(pageSize, page);
          
          
            //
          
          
            当前页开始记录
          
          
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) final
          
          
            int
          
          
            length
          
          
            =
          
          
            pageSize;
          
          
            //
          
          
            每页记录数
          
          
            final
          
          
            int
          
          
            length
          
          
            =
          
          
            pageSize;
          
          
            //
          
          
            每页记录数
          
          
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) final
          
          
            int
          
          
            currentPage
          
          
            =
          
          
            PageBean.countCurrentPage(page);
          
          
            final
          
          
            int
          
          
            currentPage
          
          
            =
          
          
            PageBean.countCurrentPage(page);
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) List
          
          
            <
          
          
            Member
          
          
            >
          
          
            list
          
          
            =
          
          
            memberDao.queryForPage(hql,offset, length);
          
          
            //
          
          
            "一页"的记录
            List
          
          
            <
          
          
            Member
          
          
            >
          
          
            list
          
          
            =
          
          
            memberDao.queryForPage(hql,offset, length);
          
          
            //
          
          
            "一页"的记录
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) //
          
          
            把分页信息保存到Bean中
          
          
            //
          
          
            把分页信息保存到Bean中
          
          
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) PageBean pageBean
          
          
            =
          
          
            new
          
          
            PageBean();
          
          
            PageBean pageBean
          
          
            =
          
          
            new
          
          
            PageBean();
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) pageBean.setPageSize(pageSize);
            pageBean.setPageSize(pageSize);
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) pageBean.setCurrentPage(currentPage);
            pageBean.setCurrentPage(currentPage);
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) pageBean.setAllRow(allRow);
            pageBean.setAllRow(allRow);
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) pageBean.setTotalPage(totalPage);
            pageBean.setTotalPage(totalPage);
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) pageBean.setList(list);
            pageBean.setList(list);
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) pageBean.init();
            pageBean.init();
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) return
          
          
            pageBean;
          
          
            return
          
          
            pageBean;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
      
    
      
       6、在Struts2中调用queryForPageMemberServic<wbr>e层的queryForPage()方法即可return一个包含分页信息、符合条件的结果集list, 代码如下:</wbr>
    
![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/a1f351c222f2407bb0921afbb62a3c11.gif) public
      
      
        class
      
      
        ListMember
      
      
        extends
      
      
        ActionSupport
      
      
        
          {
      
        public
      
      
        class
      
      
        ListMember
      
      
        extends
      
      
        ActionSupport
      
      
        
          {
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) //
        
        
          通过applicationContext.xml配置文件注入memberService的值
        
        
          //
        
        
          通过applicationContext.xml配置文件注入memberService的值
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) private
        
        
          MemberService memberService;
        
        
          private
        
        
          MemberService memberService;
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          void
        
        
          setMemberService(MemberService memberService)
        
        
          
            {
        
        
          public
        
        
          void
        
        
          setMemberService(MemberService memberService)
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) this
          
          
            .memberService
          
          
            =
          
          
            memberService;
          
          
            this
          
          
            .memberService
          
          
            =
          
          
            memberService;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) private
        
        
          int
        
        
          page;
        
        
          //
        
        
          第几页
        
        
          private
        
        
          int
        
        
          page;
        
        
          //
        
        
          第几页
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) private
        
        
          PageBean pageBean;
        
        
          //
        
        
          包含分布信息的bean
        
        
          private
        
        
          PageBean pageBean;
        
        
          //
        
        
          包含分布信息的bean
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          int
        
        
          getPage()
        
        
          
            {
        
        
          public
        
        
          int
        
        
          getPage()
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) return
          
          
            page;
          
          
            return
          
          
            page;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          void
        
        
          setPage(
        
        
          int
        
        
          page)
        
        
          
            {
          
          
            //
          
          
            若URL中无此参数,会默认为第1页
        
        
          public
        
        
          void
        
        
          setPage(
        
        
          int
        
        
          page)
        
        
          
            {
          
          
            //
          
          
            若URL中无此参数,会默认为第1页
          
          
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) this
          
          
            .page
          
          
            =
          
          
            page;
          
          
            this
          
          
            .page
          
          
            =
          
          
            page;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          PageBean getPageBean()
        
        
          
            {
        
        
          public
        
        
          PageBean getPageBean()
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) return
          
          
            pageBean;
          
          
            return
          
          
            pageBean;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          void
        
        
          setPageBean(PageBean pageBean)
        
        
          
            {
        
        
          public
        
        
          void
        
        
          setPageBean(PageBean pageBean)
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) this
          
          
            .pageBean
          
          
            =
          
          
            pageBean;
          
          
            this
          
          
            .pageBean
          
          
            =
          
          
            pageBean;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) 
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) @Override
          @Override
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/abc43b71b9f0448bb8997370851368b9.gif) public
        
        
          String execute()
        
        
          throws
        
        
          Exception
        
        
          
            {
        
        
          public
        
        
          String execute()
        
        
          throws
        
        
          Exception
        
        
          
            {
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) //
          
          
            分页的pageBean,参数pageSize表示每页显示记录数,page为当前页
          
          
            //
          
          
            分页的pageBean,参数pageSize表示每页显示记录数,page为当前页
          
          
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) this
          
          
            .pageBean
          
          
            =
          
          
            memberService.queryForPage(
          
          
            2
          
          
            , page);
          
          
            this
          
          
            .pageBean
          
          
            =
          
          
            memberService.queryForPage(
          
          
            2
          
          
            , page);
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/68629797db704c09a34e3f22928f69ff.gif) return
          
          
            SUCCESS;
          
          
            return
          
          
            SUCCESS;
            ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/8ad25fdd50d04991b4ba48eadad27e2f.gif) }
            }
          
        
        
          ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/6ef3fa81a0a443f497a39d5f4c0dd5c4.gif) }
          }
        
      
    
      
       7、最后在listMember.jsp页面中,用到了Struts2标签:
    
![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) <
      
      
        s:iterator
      
      
        value
      
      
        ="pageBean.list"
      
      
        >
      
        <
      
      
        s:iterator
      
      
        value
      
      
        ="pageBean.list"
      
      
        >
      
      
        ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) <
      
      
        s:property
      
      
        value
      
      
        ="title"
      
      
        />
      
      
        <
      
      
        s:property
      
      
        value
      
      
        ="title"
      
      
        />
      
      
        ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) <
      
      
        a
      
      
        href
      
      
        ="getArticle.action?id=<s:property value="
      
      
        id"
      
      
        />
      
      
        ">modify
      
      
        </
      
      
        a
      
      
        >
      
      
        <
      
      
        a
      
      
        href
      
      
        ="getArticle.action?id=<s:property value="
      
      
        id"
      
      
        />
      
      
        ">modify
      
      
        </
      
      
        a
      
      
        >
      
      
        ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) <
      
      
        a
      
      
        href
      
      
        ="deleteArticle.action?id=<s:property value="
      
      
        id"
      
      
        />
      
      
        " onclick="return askDel()"/>delete
      
      
        </
      
      
        a
      
      
        ><
      
      
        br
      
      
        />
      
      
        <
      
      
        a
      
      
        href
      
      
        ="deleteArticle.action?id=<s:property value="
      
      
        id"
      
      
        />
      
      
        " onclick="return askDel()"/>delete
      
      
        </
      
      
        a
      
      
        ><
      
      
        br
      
      
        />
      
      
        ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) </
      
      
        s:iterator
      
      
        >
      
      
        </
      
      
        s:iterator
      
      
        >
      
      
        ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) 共
      
      
        <
      
      
        s:property
      
      
        value
      
      
        ="pageBean.allRow"
      
      
        />
      
      
        条记录
        共
      
      
        <
      
      
        s:property
      
      
        value
      
      
        ="pageBean.allRow"
      
      
        />
      
      
        条记录
        ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) 共
      
      
        <
      
      
        s:property
      
      
        value
      
      
        ="pageBean.totalPage"
      
      
        />
      
      
        页
        共
      
      
        <
      
      
        s:property
      
      
        value
      
      
        ="pageBean.totalPage"
      
      
        />
      
      
        页
        ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) 当前第
      
      
        <
      
      
        s:property
      
      
        value
      
      
        ="pageBean.currentPage"
      
      
        />
      
      
        页
      
      
        <
      
      
        br
      
      
        />
        当前第
      
      
        <
      
      
        s:property
      
      
        value
      
      
        ="pageBean.currentPage"
      
      
        />
      
      
        页
      
      
        <
      
      
        br
      
      
        />
      
      
        ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) 
        ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) <
      
      
        s:if
      
      
        test
      
      
        ="%{pageBean.currentPage == 1}"
      
      
        >
      
      
        <
      
      
        s:if
      
      
        test
      
      
        ="%{pageBean.currentPage == 1}"
      
      
        >
      
      
        ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) 第一页 上一页
        第一页 上一页
        ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) </
      
      
        s:if
      
      
        >
      
      
        </
      
      
        s:if
      
      
        >
      
      
        ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) <
      
      
        s:else
      
      
        >
      
      
        <
      
      
        s:else
      
      
        >
      
      
        ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) <
      
      
        a
      
      
        href
      
      
        ="listMyArticle.action?page=1"
      
      
        >
      
      
        第一页
      
      
        </
      
      
        a
      
      
        >
      
      
        <
      
      
        a
      
      
        href
      
      
        ="listMyArticle.action?page=1"
      
      
        >
      
      
        第一页
      
      
        </
      
      
        a
      
      
        >
      
      
        ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) <
      
      
        a
      
      
        href
      
      
        ="listMyArticle.action?page=<s:property value="
      
      
        %{pageBean.currentPage-1}"
      
      
        />
      
      
        ">上一页
      
      
        </
      
      
        a
      
      
        >
      
      
        <
      
      
        a
      
      
        href
      
      
        ="listMyArticle.action?page=<s:property value="
      
      
        %{pageBean.currentPage-1}"
      
      
        />
      
      
        ">上一页
      
      
        </
      
      
        a
      
      
        >
      
      
        ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) </
      
      
        s:else
      
      
        >
      
      
        </
      
      
        s:else
      
      
        >
      
      
        ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) <
      
      
        s:if
      
      
        test
      
      
        ="%{pageBean.currentPage != pageBean.totalPage}"
      
      
        >
      
      
        <
      
      
        s:if
      
      
        test
      
      
        ="%{pageBean.currentPage != pageBean.totalPage}"
      
      
        >
      
      
        ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) <
      
      
        a
      
      
        href
      
      
        ="listMyArticle.action?page=<s:property value="
      
      
        %{pageBean.currentPage+1}"
      
      
        />
      
      
        ">下一页
      
      
        </
      
      
        a
      
      
        >
      
      
        <
      
      
        a
      
      
        href
      
      
        ="listMyArticle.action?page=<s:property value="
      
      
        %{pageBean.currentPage+1}"
      
      
        />
      
      
        ">下一页
      
      
        </
      
      
        a
      
      
        >
      
      
        ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) <
      
      
        a
      
      
        href
      
      
        ="listMyArticle.action?page=<s:property value="
      
      
        pageBean.totalPage"
      
      
        />
      
      
        ">最后一页
      
      
        </
      
      
        a
      
      
        >
      
      
        <
      
      
        a
      
      
        href
      
      
        ="listMyArticle.action?page=<s:property value="
      
      
        pageBean.totalPage"
      
      
        />
      
      
        ">最后一页
      
      
        </
      
      
        a
      
      
        >
      
      
        ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) </
      
      
        s:if
      
      
        >
      
      
        </
      
      
        s:if
      
      
        >
      
      
        ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) <
      
      
        s:else
      
      
        >
      
      
        <
      
      
        s:else
      
      
        >
      
      
        ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) 下一页 最后一页
        下一页 最后一页
        ![[转]Hibernate+Spring+Struts2整合开发中的一个分页显示方案](http://img.it610.com/image/product/ff3435bbf02e4f2c9b474eef455f6c26.gif) </
      
      
        s:else
      
      
        >
      
      
        </
      
      
        s:else
      
      
        >
      
    到这里,Hibernate+Spring+Struts2整合开发中的分页问题就已经解决了,在我上述过程中,省略了许多Hibernate,Spring,Struts2的配置,那不是本文的重点,大家可以参考有关的书与资料,由于篇幅有限,在此就不一一列举。在以后的文章中,我也会详细地跟大家讲述SSH整合开发。


 
     
					 
					