隨筆-42  評論-578  文章-1  trackbacks-0

                分頁顯示一直是web開發中一大煩瑣的難題,傳統的網頁設計只在一個JSP或者ASP頁面中書寫所有關于數據庫操作的代碼,那樣做分頁可能簡單一點,但當把網站分層開發后,分頁就比較困難了,下面是我做Spring+Hibernate+Struts2項目時設計的分頁代碼,與大家分享交流。
          1、DAO層接口的設計,在MemberDao接口中定義了如下兩個方法:

          public interface MemberDao{
              
              
          //省略了其他的代碼
              
              
          /**
               * 分頁查詢
               * 
          @param hql 查詢的條件
               * 
          @param offset 開始記錄
               * 
          @param length 一次查詢幾條記錄
               * 
          @return
               
          */

              
          public List queryForPage(final String hql,final int offset,final int length);
              
              
          /**
               * 查詢所有記錄數
               * 
          @param hql 查詢的條件
               * 
          @return 總記錄數
               
          */

              
          public int getAllRowCount(String hql);

          }

          2、DAO層實現類MemberDaoImpl對上面兩個方法的實現如下:

          public class MemberDaoImpl extends HibernateDaoSupport implements MemberDao {
                 
          //省略了其他的代碼    

              
          /**
               * 分頁查詢
               * 
          @param hql 查詢的條件
               * 
          @param offset 開始記錄
               * 
          @param length 一次查詢幾條記錄
               * 
          @return
               
          */

              
          public List queryForPage(final String hql,final int offset,final int length){
                  List list 
          = getHibernateTemplate().executeFind(new HibernateCallback(){
                      
          public Object doInHibernate(Session session) throws HibernateException,SQLException{
                          Query query 
          = session.createQuery(hql);
                          query.setFirstResult(offset);
                          query.setMaxResults(length);
                          List list 
          = query.list();
                          
          return list;
                      }

                  }
          );
                  
          return list;
              }

              
              
              
          /**
               * 查詢所有記錄數
               * 
          @return 總記錄數
               
          */

              
          public int getAllRowCount(String hql){
                  
          return getHibernateTemplate().find(hql).size();
              }


          }

                  細心的讀者會發現,這個類繼承了HibernateDaoSupport類,HibernateDaoSupport是Spring提供的對Hibernate支持的類,getHibernateTemplate().executeFind(new HibernateCallback(){....})方法中的參數,我們使用了接口回調,在其參數內,我們能像原生的Hibernate一樣調用query.setFirstResult(offset)和query.setMaxResults(length)來實現分頁查詢功能。

          3、下面我們來新建一個保存分頁信息的類PageBean,具體代碼如下:

          public class PageBean {
              
              
          private List list;        //要返回的某一頁的記錄列表
              
              
          private int allRow;         //總記錄數
              private int totalPage;        //總頁數
              private int currentPage;    //當前頁
              private int pageSize;        //每頁記錄數
              
              
          private boolean isFirstPage;    //是否為第一頁
              private boolean isLastPage;        //是否為最后一頁
              private boolean hasPreviousPage;    //是否有前一頁
              private boolean hasNextPage;        //是否有下一頁
              
              
              
          public List getList() {
                  
          return list;
              }

              
          public void setList(List list) {
                  
          this.list = list;
              }

              
          public int getAllRow() {
                  
          return allRow;
              }

              
          public void setAllRow(int allRow) {
                  
          this.allRow = allRow;
              }

              
          public int getTotalPage() {
                  
          return totalPage;
              }

              
          public void setTotalPage(int totalPage) {
                  
          this.totalPage = totalPage;
              }

              
          public int getCurrentPage() {
                  
          return currentPage;
              }

              
          public void setCurrentPage(int currentPage) {
                  
          this.currentPage = currentPage;
              }

              
          public int getPageSize() {
                  
          return pageSize;
              }

              
          public void setPageSize(int pageSize) {
                  
          this.pageSize = pageSize;
              }

              
              
          /**
               * 初始化分頁信息
               
          */

              
          public void init(){
                  
          this.isFirstPage = isFirstPage();
                  
          this.isLastPage = isLastPage();
                  
          this.hasPreviousPage = isHasPreviousPage();
                  
          this.hasNextPage = isHasNextPage();
              }

              
              
          /**
               * 以下判斷頁的信息,只需getter方法(is方法)即可
               * 
          @return
               
          */

              
              
          public boolean isFirstPage() {
                  
          return currentPage == 1;    // 如是當前頁是第1頁
              }

              
          public boolean isLastPage() {
                  
          return currentPage == totalPage;    //如果當前頁是最后一頁
              }

              
          public boolean isHasPreviousPage() {
                  
          return currentPage != 1;        //只要當前頁不是第1頁
              }

              
          public boolean isHasNextPage() {
                  
          return currentPage != totalPage;    //只要當前頁不是最后1頁
              }

              
              
              
          /**
               * 計算總頁數,靜態方法,供外部直接通過類名調用
               * 
          @param pageSize 每頁記錄數
               * 
          @param allRow 總記錄數
               * 
          @return 總頁數
               
          */

              
          public static int countTotalPage(final int pageSize,final int allRow){
                  
          int totalPage = allRow % pageSize == 0 ? allRow/pageSize : allRow/pageSize+1;
                  
          return totalPage;
              }

              
              
          /**
               * 計算當前頁開始記錄
               * 
          @param pageSize 每頁記錄數
               * 
          @param currentPage 當前第幾頁
               * 
          @return 當前頁開始記錄號
               
          */

              
          public static int countOffset(final int pageSize,final int currentPage){
                  
          final int offset = pageSize*(currentPage-1);
                  
          return offset;
              }

              
              
          /**
               * 計算當前頁,若為0或者請求的URL中沒有"?page=",則用1代替
               * 
          @param page 傳入的參數(可能為空,即0,則返回1)
               * 
          @return 當前頁
               
          */

              
          public static int countCurrentPage(int page){
                  
          final int curPage = (page==0?1:page);
                  
          return curPage;
              }

          }


          4、Service層接口的設計:

          public interface MemberService {
              
          //省略其他的代碼

              
          /**
               * 分頁查詢
               * 
          @param currentPage 當前第幾頁
               * 
          @param pageSize 每頁大小
               * 
          @return 封閉了分頁信息(包括記錄集list)的Bean
               
          */

              
          public PageBean queryForPage(int pageSize,int currentPage);

          }


          5、Service層實現類的部分內碼如下:

          public class MemberServiceImpl implements MemberService {
            
            
          //通過applicationContext.xml配置文件注入MemberDao的值
              private MemberDao memberDao;
              
          public void setMemberDao(MemberDao memberDao) {
                  
          this.memberDao = memberDao;
              }

              
              
          /**
               * 分頁查詢
               * 
          @param currentPage 當前第幾頁
               * 
          @param pageSize 每頁大小
               * 
          @return 封閉了分頁信息(包括記錄集list)的Bean
               
          */

              
          public PageBean queryForPage(int pageSize,int page){

                  
          final String hql = "from Member";        //查詢語句
                  int allRow = memberDao.getAllRowCount(hql);    //總記錄數
                  int totalPage = PageBean.countTotalPage(pageSize, allRow);    //總頁數
                  final int offset = PageBean.countOffset(pageSize, page);    //當前頁開始記錄
                  final int length = pageSize;    //每頁記錄數
                  final int currentPage = PageBean.countCurrentPage(page);
                  List
          <Member> list = memberDao.queryForPage(hql,offset, length);        //"一頁"的記錄
                  
                  
          //把分頁信息保存到Bean中
                  PageBean pageBean = new PageBean();
                  pageBean.setPageSize(pageSize);    
                  pageBean.setCurrentPage(currentPage);
                  pageBean.setAllRow(allRow);
                  pageBean.setTotalPage(totalPage);
                  pageBean.setList(list);
                  pageBean.init();
                  
          return pageBean;
              }


          6、在Struts2中調用queryForPageMemberService層的queryForPage()方法即可return一個包含分頁信息、符合條件的結果集list, 代碼如下:

          public class ListMember extends ActionSupport{
              
          //通過applicationContext.xml配置文件注入memberService的值
              private MemberService memberService;
              
          public void setMemberService(MemberService memberService) {
                  
          this.memberService = memberService;
              }

              
              
          private int page;    //第幾頁
              
              
          private PageBean pageBean;    //包含分布信息的bean
              
              
          public int getPage() {
                  
          return page;
              }


              
          public void setPage(int page) {        //若URL中無此參數,會默認為第1頁
                  this.page = page;
              }


              
          public PageBean getPageBean() {
                  
          return pageBean;
              }


              
          public void setPageBean(PageBean pageBean) {
                  
          this.pageBean = pageBean;
              }


              @Override
              
          public String execute() throws Exception {
                  
          //分頁的pageBean,參數pageSize表示每頁顯示記錄數,page為當前頁
                  this.pageBean = memberService.queryForPage(2, page);
                  
          return SUCCESS;
              }

          }


          7、最后在listMember.jsp頁面中,用到了Struts2標簽:

          <s:iterator value="pageBean.list">
                      
          <s:property value="title"/>
                      
          <href="getArticle.action?id=<s:property value="id"/>">modify</a>
                      
          <href="deleteArticle.action?id=<s:property value="id"/>" onclick="return askDel()"/>delete</a><br/>
                  
          </s:iterator>
                  共
          <s:property value="pageBean.allRow"/> 條記錄
                  共
          <s:property value="pageBean.totalPage"/> 頁
                  當前第
          <s:property value="pageBean.currentPage"/><br/>
                  
                  
          <s:if test="%{pageBean.currentPage == 1}">
                      第一頁 上一頁
                  
          </s:if>
                  
          <s:else>
                      
          <href="listMyArticle.action?page=1">第一頁</a>
                      
          <href="listMyArticle.action?page=<s:property value="%{pageBean.currentPage-1}"/>">上一頁</a>
                  
          </s:else>
                  
          <s:if test="%{pageBean.currentPage != pageBean.totalPage}">
                      
          <href="listMyArticle.action?page=<s:property value="%{pageBean.currentPage+1}"/>">下一頁</a>
                      
          <href="listMyArticle.action?page=<s:property value="pageBean.totalPage"/>">最后一頁</a>
                  
          </s:if>
                  
          <s:else>
                      下一頁 最后一頁
                  
          </s:else>

                 到這里,Hibernate+Spring+Struts2整合開發中的分頁問題就已經解決了,在我上述過程中,省略了許多Hibernate,Spring,Struts2的配置,那不是本文的重點,大家可以參考有關的書與資料,由于篇幅有限,在此就不一一列舉。在以后的文章中,我也會詳細地跟大家講述SSH整合開發。
          (*^-^*) 本文原創,轉載請注明出處, http://www.aygfsteel.com/rongxh7謝謝! (*^-^*)


           



          本文原創,轉載請注明出處,謝謝!http://www.aygfsteel.com/rongxh7(心夢帆影JavaEE技術博客)
              

          posted on 2008-11-29 20:54 心夢帆影 閱讀(27054) 評論(114)  編輯  收藏 所屬分類: Struts2.xHibernateSpring
          評論共2頁: 1 2 下一頁 

          評論:
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2008-12-09 22:37 | a
          給我一份代碼啊
          我的339080005@qq.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2008-12-11 00:44 | ssh愛好者
          希望得到一分代碼,多謝!
          185819600@qq.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2008-12-13 20:41 | 路人甲
          您好,能抽點時間發份代碼給我嗎?找了好久,才看上一個合心意的!
          我的郵箱:diamondiamon@163.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2008-12-22 14:19 | 您好,能不能發一份代碼給我啊,謝謝
          xyz8040@qq.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-01-13 17:19 | 卡不諾
          麻煩也給我一份哦,kakayou@126.com,謝謝  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-01-19 01:45 | vaio
          麻煩也給我一份哦,vaio2009@sina.com,謝謝.  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-03-07 20:40 | 龍華城
          很精彩的文章,我轉載了。  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-03-08 21:10 | SSH學者
          可否給我一份代碼 我參考呀 做項目遇到了這個問題! 謝謝了
          郵箱:1019695412@qq.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-03-12 16:36 | he
          麻煩也給我一份ssh分頁代碼,a_b_c8848@sina.com,謝謝.   回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-03-16 13:02 | 錢凱
          可以發一份源碼學習嗎?謝謝,26765165@qq.com

          并且對這句話沒有能完全理解: "細心的讀者會發現,這個類繼承了HibernateDaoSupport類,HibernateDaoSupport是Spring提供的對Hibernate支持的類,getHibernateTemplate().executeFind(new HibernateCallback(){....})方法中的參數,我們使用了接口回調,在其參數內,我們能像原生的Hibernate一樣調用query.setFirstResult(offset)和query.setMaxResults(length)來實現分頁查詢功能。"
          能在哪本書學習到相關知識?  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-03-23 10:12 | skyheart
          大哥,你好,能不能也給我發一份阿,真想學習學習,謝謝哈~
          郵箱:511960205@qq.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-03-25 21:42 | 龍華城
          我也想要源碼,給一份吧,老大。 82055185@qq.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-03-30 08:37 | 周樂建
          能否發我一份原代碼給我,zhoulejian@126.com謝謝!  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-03-31 13:44 | hjlv
          也給我一份源碼可以嗎,我也在學這方面,先謝了!red_army_lv@126.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-04-07 15:43 |
          你好,我想看看源碼可以嗎?或者整個框架的結構也可以. tianlin0704@163.com 謝謝~~!  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-04-10 15:10 | mlysy
          希望得到一分代碼,多謝!
          moliyishengyuan@126.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-04-20 07:18 | chenggang
          我也希望看到源代碼,哥們你有么,我想看看,如果有的話,也有時間,麻煩你發到gang_e@hotmail.com郵箱里面,Thank you!  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-05-06 21:21 | 韓葉
          好想看看源碼...可以發給我嗎?570414156@qq.com,十二萬分的感謝  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-05-07 10:52 | sixbrother
          源碼可以發給我一份嗎?six_brother@126.com,非常感謝!  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案[未登錄] 2009-05-16 09:48 | 你好
          要尊重知識,這是一個視頻教程上的方案,請說明,尊重別人  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案[未登錄] 2009-05-20 09:56 | 過客
          zw0806@yeah.net

          謝謝!  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案[未登錄] 2009-05-20 18:01 | zht
          源碼可以發給我一份嗎?zht2006rj@126.com,非常感謝!
          我正在自學Hibernate+Spring+Struts2整合開發,但那個配置文檔不怎么會寫,呵呵  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案[未登錄] 2009-05-22 10:52 | zhq
          源碼可以發給我一份嗎?zhao2005hit@163.com,非常感謝!
          我正在學jpa+Spring+Struts2整合開發,那個配置文檔很重要,呵呵  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-05-23 12:40 | chouxuezhi
          能發一份嗎?謝謝!最近寫在寫ssh分頁!老是出問題!希望發一份!
          chouxuezhi2008@126.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-05-23 22:33 | 李興明
          能給我一份 SSH2的 完整的代碼么 謝謝了 050705033@163.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-05-30 13:57 | 野皇
          首先,非常感謝文章作者!不過我發現代碼中有一處錯誤。
          final int offset = PageBean.countOffset(pageSize, page); //當前頁開始記錄
          上面的一句代碼有誤,其中的page參數應該改為 currentPage才行。  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案[未登錄] 2009-05-31 19:59 | zzh
          謝謝啦!  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-06-12 23:34 | at9088
          太感謝了,ssh_分頁憋了我一天了。。。。
          寫的太詳細,太好了  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案[未登錄] 2009-06-24 22:46 | L
          終于找到了.
          謝謝樓主
          能否發一份哈
          謝謝
          kblmb@163.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-07-30 14:47 | sanghaijuan
          我也想要一份源代碼,寫的太好了,符合我心意!
          sanghaijuan@126.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-08-04 15:49 | 邀月
          可否發一份源碼給我,謝謝
          3w@live,cn
            回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-08-08 16:43 | grant
          能給我一份 SSH2的 完整的代碼么 謝謝了 grantandjie@126.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案[未登錄] 2009-09-24 16:34 | jason
          query.setFirstResult(offset);
          query.setMaxResults(length);
          List list = query.list();
          1. 這里老是報錯不知道怎么搞。
          2. List<User> list = memberDao.queryForPage(hql,offset, length); //"一頁"的記錄
          這里 list里面的值我總是取不到,總是報錯.
          ---------------------
          能否將你的源碼也發一份給我, 感謝! aa-jason@1163.com   回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-10-09 15:51 | zailushang
          能給我一份 SSH2分頁的 完整的代碼么 謝謝了
          757142777@qq.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-10-09 15:54 | zailushang
          麻煩問一下,我的list怎么沒值啊?在頁面顯示不出值,有多少條記錄,多少頁是可以顯示出來的,這是怎么回事啊,能幫我解決一下嗎?謝謝了  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-10-20 14:53 | 司如超
          樓主寫的太好了,比我看別的清晰多了,樓主能不能發一份源碼給我,謝謝了。siruchao@yahoo.com.cn  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案[未登錄] 2009-10-21 11:31 | jun
          這個太好了, 謝謝 , 有改進版的話(比如說加動態條件什么的),希望給也我發一份, yinaifan@163.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-10-26 21:45 | nileader
          謝謝你了,真的很不錯的demo  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-10-31 15:25 | 游客
          不能顯示數據庫里的第一條記錄  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-11-25 17:55 | ゞ沉默是金ゞ
          能否把代碼給我一份,bhdxyjg@126.com
          由于在項目總發現點擊到最后一頁再點擊上一頁的時候就會出現死機的現象,能幫忙解決一下嗎?  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-12-03 16:16 | girl
          能否把代碼發給我啊  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-12-03 16:16 | girl
          樓主這是我的郵箱:yxh_@163.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-12-14 11:41 | zrcai
          也發一份給我謝謝!
          zrcai@126.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-12-18 14:38 | lvweisheng
          能給我一份源碼么樓主!謝謝了
          我的郵箱是:lvweisheng9@qq.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2009-12-19 16:19 | 樂生
          能給我一份源碼么樓主!謝謝了
          我的郵箱是732898444@qq.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2010-01-12 17:45 | wolftotem
          你好,首先要感謝你能夠分享知識。
          我這里有個問題就是,頁面A是一個表單,可以輸入多個查詢條件,數字,日期,漢字等都有,提交表單,通過Action調用Service接口,分頁大小pageSize在搜spring配置文件里配置,Action交由Spring來管理,當我第一次查詢時可能有50筆資料,分為3頁顯示在B頁面,通過下一頁點到最后一頁,這時候我再在A頁面輸入另外一組查詢條件,加入說滿足此條件的記錄只有2筆不用上下分頁,這個時候怎么就查不出來呢。這時hql語句顯示是select top 60 ,顯然把剛才點最后一頁是的頁碼緩存了。請問這個問題如何解決?  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2010-01-24 17:35 | hnwangdan
          運行上面的程序,出現了不少問題,試著調試了,但還是沒有成功

          Action 里面的代碼貌似有問題:this.pageUtil =bookDao.queryForPage(pageNow, pageSize);

          能否提供下源程序代碼完整的!?  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2010-04-06 09:20 | yr
          你好,一直關注你,希望得到SSH的源碼。yr512656630@163.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案[未登錄] 2010-04-12 22:46 | 葉子
          能不能把改進后的源碼發給偶啊,偶正在學習,謝謝哦 derrickye@126.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2010-04-21 09:50 | 翔宇
          不錯,思路很清晰,學習一下,不知道有沒有可以封裝動態查詢參數的呢?  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2010-05-13 11:55 | llw
          能給份源碼嗎?270181856@qq.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2010-05-20 11:29 | hgh
          等待...封裝動態查詢參數hgh44@163.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2010-10-29 22:56 | hefeng
          Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案代碼可以發我一份嗎???我的郵箱:hefeng1987.net@163.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案[未登錄] 2010-12-24 22:01 | seven
          搞了很久也沒搞明白!能把源碼發我嗎?謝謝!
          seven.7and7@gmail.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2011-05-05 09:54 | binhong0708
          @心夢帆影
          修改后的版本麻煩給我也發一份吧 這個寫得很好!剛找了好多 決定就用這個了!!!O(∩_∩)O謝謝 849321042@qq.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2011-05-08 12:05 | thanks
          厲害啊。謝謝哈  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2011-07-04 09:22 | 小謝
          你好!能否把你的分頁源碼發給我,謝謝了!!!!!
          郵箱:li_xiepeng@163.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2011-07-21 19:45 | jsina
          修改后的版本麻煩給我也發一份吧 這個寫得很好!剛找了好多 決定就用這個了!!!O(∩_∩)O謝謝 191314023@qq.com
          麻煩你拉,非常感謝  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案[未登錄] 2011-09-14 17:36 | 小剛
          大哥,那么多人都你說寫的好,你的源代碼也能不能發給我參考一下呢,謝謝,我的郵箱:389200338@qq.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2011-09-30 09:58 | 李永生
          有源碼嗎 發下 497234609qq  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2011-10-28 15:19 | 江玲
          研究了大半天分頁,沒研究出來。這個不錯,好厲害,能不能發下代碼呢 O(∩_∩)O謝謝 xinguanjiang@163.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案[未登錄] 2011-11-02 00:02 | tester
          q請問hibernate獲取總記錄是如何實現的,是不是要查詢出所有的數據?
          還是使用selec count之類的  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2011-11-20 09:47 | Ivy.lea
          樓主啊
          你看看我這么做行不?
          session = this.getHibernateTemplate().getSessionFactory().getCurrentSession();
          Criteria criteria = session.createCriteria(EntityBean.class);

          這樣能行嗎?
          要是這樣做的話 需要關閉session嗎?  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案[未登錄] 2011-12-10 15:06 | 阿牛
          研究了大半天分頁,沒研究出來。這個不錯,好厲害,能不能發下代碼呢?
          zgm1010zgm@163.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案[未登錄] 2012-01-05 10:39 | 小剛
          大哥,你很厲害,向你學習,您的ssh分頁源碼能不能發給我啊?389200338@qq.com,向您致敬!  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2012-02-02 10:55 | 詩詩
          請把分頁源碼 發給我一份的 非常感謝 2389086068@qq.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2012-02-22 20:53 | 小孫
          大哥,我是新手能把分頁的ssh的源碼發給我看看,我不怎么會配里面的配置。非常感謝!240936354@qq.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2012-03-23 00:46 | learner
          這例子有點坑爹......  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2012-04-15 13:02 | bit
          例子不錯,多謝LZ。。。本人是初學者,如果方便發份源碼來研究,研究!

          1054993544@163.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2012-04-23 20:39 | rhgang
          你好!能否把你的分頁源碼發給我,謝謝了!!!!!
          郵箱:rhgang@yeah.net  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2012-04-25 08:57 | wuming
          非常好的分頁工具,多謝樓主  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2012-05-17 16:57 | 游客
          能否把代碼例子發給我,lz
          我按你的例子只實現了顯示有多少頁,并沒有真正實現分頁顯示,那個listMyArticle.action不知道LZ是怎么實現的?求代碼?jamy888@qq.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2012-06-05 11:45 | 游客
          @游客
          多謝LZ,方便的話能否把你的源碼發給我看看呢,我按你的例子寫了,可是頁面什么內容都沒有顯示,我在后臺驗證了,信息都有,就是頁面沒顯示,不知道是哪里出了錯,搞了很久,都沒搞定。。。shyhongyu123@163.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2012-07-18 16:16 | 游客
          我想知道,這個的hql是要在DAO的實現層里賦值??還是怎么樣  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案[未登錄] 2012-09-20 02:14 | 小劉
          老大,我是新人,可否給我份源碼、  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案[未登錄] 2012-09-20 02:15 | 小劉
          122149041@qq.com
            回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2012-11-08 15:47 | 陳丞
          我照著你的這個寫完,嘗試配置了一下applicationcontext.xml但是一執行action就報空指針啊,求大師指導,我的qq:78582519 感激不盡。  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2012-12-11 15:16 | 山貓
          你好 發我一份代碼吧 我的qq 94513854@qq.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2013-01-06 21:30 | xiao wang
          給我也來份。我合了好久,老是報錯。。謝謝  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2013-01-06 21:30 | xiao wang
          給我也來份。我合了好久,老是報錯。。謝謝
          cuipengfei103@foxmail.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2013-02-20 10:09 | manchun
          能否把代碼例子發給我
          yballin@qq.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2013-02-20 10:44 | 捭闔
          能發一份源碼給我么 謝謝 731017882@QQ.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2013-03-10 10:35 | 非也
          求份源碼研究研究236308301@qq.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2013-03-16 11:56 | 有點生澀
          你好,我看了你的分頁覺得有點似懂非懂的,麻煩你發份給我好嗎?如果有更好的,也希望不吝賜教,576248712@qq.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2013-04-01 15:02 | rainday
          新手求源碼:kaibin007@qq.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2013-05-21 11:27 | willsine
          求源碼 謝謝樓主 1527788745@qq.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2013-06-04 15:05 | rainday
          看了三遍,學到很多,謝謝樓主  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案[未登錄] 2013-06-06 09:00 | hello
          請問一下繼承了hibernateDaoSupport后hibernateTemplate的setter和getter方法就不能使用了,請問可以怎么解決,,,可以分享源碼不...
          hdblocal@163.com 謝謝了  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2013-06-07 15:10 |
          親,能源碼發一份嗎?164679848@qq.com謝謝!  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案[未登錄] 2013-08-14 09:42 | 新手上路
          請問你的問題解決了嗎@zailushang
            回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案[未登錄] 2013-08-14 09:52 | 郁悶了
          親,能發下源碼嗎?謝謝!jiayanwei_happy@163.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2013-10-11 17:32 | 陳清錦
          按流程做了一遍,但是結果老是有錯誤啊,水平不夠 希望能傳給源碼給我參考
          601137617@qq.com萬分感謝中  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2013-10-22 16:49 | ydf
          估計配置問題老報錯!給份源碼吧!myEmail163_ydf@163.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案[未登錄] 2013-11-02 16:57 | an
          正在學習ssh分頁技術,求源碼作學習資料。925503490@qq.com!  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2013-11-28 18:03 | ssdfg
          配置Spring后運行報空指針啊,錯誤在services實現類的 int allRow = memberDao.getAllRowCount(hql); //總記錄數
          這個位置!求大神解釋???????  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2013-11-30 10:28 | zyl007
          public static int countOffset(final int pageSize,final int currentPage)
          { int curpage=(currentPage==0?1:currentPage)
          final int offset = pageSize*(curpage-1);
          return offset;
          }
          這樣改一下就可以不報不能進結果集的錯誤了!記得在Spring services接口 注入 MemberDao 接口!  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2013-11-30 10:37 | zyl007
          @jason
          你的問題是在報不能進結果集的錯誤吧!是這樣的錯誤吧:
          HTTP Status 500 - Hibernate operation: could not execute query; uncategorized SQLException for SQL [select tbook0_.bid as bid1_, tbook0_.bookName as bookName1_, tbook0_.price as price1_, tbook0_.images as images1_, tbook0_.stock as stock1_ from BookShop.dbo.T_Book tbook0_]; SQL state [null]; error code [0]; 只進結果集不支持請求的操作。; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 只進結果集不支持請求的操作。
          這是由于在Hibernate 回調函數查詢時在offset傳入的是負值,需要在PageBean實體類修改Offset方法;這樣改一下就不報錯誤了
          public static int countOffset(final int pageSize,final int currentPage)
          { int curpage=(currentPage==0?1:currentPage)//
          判斷一下currentPage是否為0,是就為offset賦值為1
          final int offset = pageSize*(curpage-1);
          return offset;
          }
          這樣就不會導致offset為負值,就不會導致只進結果集的錯誤了!
          你試一下吧!  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2015-08-01 09:42 | 游客
          寫得很清楚,感覺會很有幫助,誰有完整源碼可以發一份供學習嗎?非常感謝!771034385@qq.com  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案 2015-11-17 16:11 | 肥皂不起沫
          謝謝博主,你說的對我很有用,謝謝博主,你說的對我很有用  回復  更多評論
            
          # re: Hibernate+Spring+Struts2整合開發中的一個分頁顯示方案[未登錄] 2016-05-05 17:19 | LEI
          可以給我發一份嗎 我郵箱:550400907@qq.com  回復  更多評論
            
          評論共2頁: 1 2 下一頁 
          主站蜘蛛池模板: 绥江县| 台安县| 曲松县| 烟台市| 江门市| 长顺县| 鲁甸县| 含山县| 洛扎县| 锦州市| 武城县| 石林| 东方市| 石柱| 汉川市| 府谷县| 万载县| 华蓥市| 商洛市| 武定县| 韶关市| 罗源县| 邛崃市| 昌吉市| 金昌市| 安乡县| 恩平市| 临海市| 焉耆| 土默特右旗| 沈阳市| 奈曼旗| 玉屏| 枞阳县| 西吉县| 林口县| 镇安县| 阿拉善右旗| 涟源市| 普洱| 托克托县|