posts - 104,  comments - 34,  trackbacks - 0
          ( 該部分內容是自寫自用代碼)
          Action部分:
            //查看車輛信息(分頁)
              public ActionForward query(ActionMapping mapping, ActionForm form,
                      HttpServletRequest request, HttpServletResponse response) {
                  List list = carService.queryAll();
                  int pages = list.size();
                  System.out.println(pages);
                  request.getSession().setAttribute("pages", pages);//記錄總數放進Session中
                  String a = request.getParameter("I");
                  String b = request.getParameter("J");
                  if(null==a&&null==b) {
                      request.getSession().setAttribute("v", 1);
                      request.getSession().setAttribute("v2", 5);        
                      request.getSession().setAttribute("pages", pages);//記錄總數放進Session中
                      int pageCount = carService.getPage(pages, 5);//初始化的時候有多少頁
                      request.getSession().setAttribute("PageCount", pageCount);
                      List syuser = carService.getApply(1, 5);//初始的時候默認在第1頁,第頁顯示5條
                      request.getSession().setAttribute("carsMessage", syuser);
                      return mapping.findForward("query");
                  }
                  else{
                       int i = Integer.parseInt(request.getParameter("I").trim());
                       int j = Integer.parseInt(request.getParameter("J"));
                       System.out.println(i+"...."+j);
                       int pageCount = carService.getPage(pages,j);//初始化的時候有多少頁
                       if(i<=pageCount&&i>0){
                           request.getSession().setAttribute("PageCount", pageCount);
                           request.getSession().setAttribute("v", i);
                           request.getSession().setAttribute("v2", j);
                           List syuser2 = carService.getApply(i, j);
                           request.getSession().setAttribute("carsMessage", syuser2);
                           return mapping.findForward("query");
                       }
                       else{
                           return mapping.findForward("query");
                       }
                  }
              }


          Service部分:

              // 車輛查詢
              public List queryAll() {
                  return this.getHibernateTemplate().loadAll(SrcmCar.class);
              }

              // 查詢出指定記錄數的信息
              public List getApply(int i, int j) {
                  Criteria c = this.getSession().createCriteria(SrcmCar.class);
                  c.setFirstResult((i - 1) * j);
                  int p = queryAll().size();
                  int q = p / j + 1;
                  if (p % j != 0 && i == q) {
          //            c.setFetchSize(p - ((i - 1) * j));
                      c.setMaxResults(p - ((i - 1) * j));
                  }
                  else {
          //            c.setFetchSize(j);
                      c.setMaxResults(j);
                  }
                  List list = c.list();
                  return list;
              }

              // 初始化的時候用來判斷分頁的頁數
              public int getPage(int i, int j) {
                  int mod = i % j;
                  int pageCount;
                  if (mod == 0) {
                      pageCount = i / j;
                  }
                  else if (i < j) {
                      pageCount = 1;
                  }
                  else {
                      pageCount = i / j + 1;
                  }
                  return pageCount;
              }


          頁面部分:
              <tr>
              <td  colspan="8" align="right">
               共有${pages}條記錄|總計
               <span id="divid">${PageCount}</span>
               頁|每頁顯示
               <select id="page" onchange="cutPage()">
               <c:if test="${v2==5}">
                <option selected>5</option>
                <option>10</option>
                <option>15</option>
               </c:if>
               <c:if test="${v2==10}">
                <option>5</option>
                <option selected>10</option>
                <option>15</option>
               </c:if>
               <c:if test="${v2==15}">
                <option>5</option>
                <option>10</option>
                <option selected>15</option>
               </c:if>
               </select>條
                |<a href="<%=basePath%>car.do?method=query&I=1&J=${v2}"">首頁</a>
                |<a href="<%=basePath%>car.do?method=query&I=${v-1}&J=${v2}">上一頁</a>
                |<a href="<%=basePath%>car.do?method=query&I=${v+1}&J=${v2}">下一頁</a>
                |<a href="<%=basePath%>car.do?method=query&I=${PageCount}&J=${v2}">末頁</a>
                |跳到第<input type="text" id="text1" size="2" value="${v}">頁
                <input type="button" value="Go" onclick="cutPage()">&nbsp;&nbsp;
              </td>
             </tr>

          javascript部分:

            <script type="text/javascript">
           var value1,c1,c2;

            function cutPage(){
            var op = document.getElementById("page");
            for(var i =0;i < op.options.length;i++){
             if(op.options[i].selected==true){
                value1 = op.options[i].text;
                  }
                    }
               var x = document.getElementById("text1").value;//第幾頁
               var n = value1;//每頁顯示幾條
               var m = ${pages};//記錄總數
               if(n*x-m>n){
                alert("沒有這么多頁!");
                document.getElementById("text1").value = ${v};
                return;
               }
               else {
            location.href = "<%=basePath%>car.do?method=query&I="+x+"&J="+value1;
            }
            }
            </script>



          posted on 2007-10-29 12:23 末日風情 閱讀(5440) 評論(3)  編輯  收藏 所屬分類: struts

          FeedBack:
          # re: SSH實現分頁
          2007-11-14 20:34 | gbk2312
          Criteria c = this.getSession().createCriteria(SrcmCar.class);
          c.setFirstResult((i - 1) * j);


          這里面的SrcmCar代表的是POJO類吧!但下面這個 c.setFirstResult((i - 1) * j),這個c是代表的是什么啊。!能發一份給我么?我這幾天搞這個東東分頁搞得都想自殺拉。沒一點結果!主要是網上的SSH分頁太雜拉。希望能發一份給我。謝謝!!!!!
          我的地址:gbk2312@sina,com

          //還有;
          zhouhongxing110@sina.com
            回復  更多評論
            
          # re: SSH實現分頁
          2008-11-13 17:44 | 馮潔
          我也和上面一樣,, c.setFirstResult((i - 1) * j),這個c是代表的是什么啊。!能發一份給我么?,,我這幾天也在搞分頁,,但總是不如意。。你的分頁,是我看的最簡單的一份了,能給我一份嗎?
            我的郵箱是:fenjie831852@163.com
          謝謝了!  回復  更多評論
            
          # re: SSH實現分頁
          2013-11-28 11:03 | 瞇露
          我和上面的一樣,你的分頁很簡單,能否發一份給我呢?
          我的QQ郵箱是511775600@qq.com  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          <2007年10月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 六枝特区| 林周县| 河津市| 秦皇岛市| 和田市| 柘荣县| 益阳市| 皋兰县| 庆城县| 天柱县| 成武县| 岑巩县| 海盐县| 依安县| 积石山| 越西县| 南康市| 鸡东县| 若羌县| 无为县| 嘉义县| 临江市| 库车县| 孟州市| 新晃| 乌兰察布市| 泰州市| 资中县| 久治县| 辽阳市| 石台县| 宕昌县| 宁河县| 连云港市| 信丰县| 白城市| 芜湖市| 乌审旗| 健康| 子洲县| 芒康县|