<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    關于分頁經驗不是很多,讓我來做分頁,我習慣用這樣的一種方法,以前用ASP和PHP的時候也是這樣來處理的。也沒怎么認真去檢查是否科學,不過先做出來再說,交出一個不怎么好的作品總比交不出作品好。不好的話還可以去完善和優化嘛。

    首先,先創建一個顯示每一頁(有若干條數據)的方法(如下面的hfindAll方法),決定好每一頁接收一個頁碼參數,然后顯示該頁碼里的數據。比如有100條數據,那么分10頁,那第幾頁顯示第幾條至第幾條數據。然后再創建一個方法是用于在view層顯示頁數(如下面的amountPage方法),最后是在view層上為每一頁數的數字加上超鏈接。

    以下是主要代碼:
    public class LoginDAO extends HibernateDaoSupport {
    private int PageSize =5;
    /*設置每頁的數據條數*/

     public Integer amountPage(){
         Session session =this.getSession();
      Query query = session.createQuery("from Login");
      query.setCacheable(true);
      int a = query.list().size()%PageSize;
    /*總記錄數/每頁數據數,判斷是否能整除*/
      Integer amount;
      if(a!=0){
       amount = query.list().size()/PageSize+1;
    /*如果整除有余數,則頁數加1*/
      }else{
       amount = query.list().size()/PageSize;
    /*如果整除沒余數,則直接總記錄數/每頁數據數*/
      }
      return amount;
     }

     public List hfindAll(String pagenum) {
         Session session =this.getSession();
      Query query = session.createQuery("from Login");
      if (pagenum == null){
    /*如果pagenum是空,則數據從第一條開始*/
      query.setFirstResult(0);
    /*設置查詢開始的第幾條數據,這里是從第1條開始*/
      query.setMaxResults(PageSize);
    /*設置查詢數據條數,這里是5條*/
      query.setCacheable(true);
    /*設置一級緩存*/
      }else{
       Integer p = (Integer.valueOf(pagenum)-1) * PageSize;
       query.setFirstResult(p);
       query.setMaxResults(PageSize);
       query.setCacheable(true);
      }
      return query.list();
     }
    }

    然后需要解決的是一些數據傳遞,類型轉換和在view層顯示的問題,主要代碼如下:

    在ACTION里:
    String strpagenum = request.getParameter("pagenum");
      List results= loginManage.hfind(strpagenum);
      Integer amountPage = loginManage.amountPage();
        if(results!=null){
                 HttpSession session=request.getSession();
                 session.setAttribute("results",results);
                 session.setAttribute("amountPage",amountPage);
                 return mapping.findForward("ok");
             }
        return mapping.findForward("fail");

    在view視圖里:
    顯示每頁數據的代碼:

     <logic:iterate id="element" name="results">    <tr>
       <td width="100"><input type="checkbox" name="select" value="<bean:write name="element" property="id"/>"><bean:write name="element" property="id"/></td>
       <td width="100"><bean:write name="element" property="name"/> </td>
       <td width="100"><bean:write name="element" property="password"/></td>
       </tr></logic:iterate>

    顯示頁碼的代碼:
    <%
       int i;
      int a=Integer.parseInt(session.getAttribute("amountPage").toString());
       for (i=1;i<=a;i++){
       out.println("<tr>");  
              out.println("<td><a href='display.do?pagenum="+ i +"'>"+ i +"</a></td>");    
              out.println("</tr>");    
       }
        %>


    posted on 2008-01-10 18:55 lzj520 閱讀(2945) 評論(6)  編輯  收藏 所屬分類: Struts1Spring個人學習日記Hibernate
    主站蜘蛛池模板: 亚洲乱亚洲乱妇无码麻豆| 在线免费视频一区二区| 亚洲一区二区三区在线 | 青草草在线视频永久免费| 99久久免费国产精精品| 亚洲av日韩综合一区二区三区| 亚洲国产综合无码一区| 免费又黄又爽的视频| 免费看的黄色大片| 国产人在线成免费视频| 国产午夜精品久久久久免费视| 国产天堂亚洲国产碰碰| 一级特黄aa毛片免费观看| 亚洲精品456播放| 中文字幕免费视频一| 三年片在线观看免费观看大全一| 欧洲亚洲综合一区二区三区 | 国产免费伦精品一区二区三区| 亚洲va在线va天堂成人| 亚洲一区二区影视| 亚洲视屏在线观看| 91精品国产亚洲爽啪在线观看| 亚洲精品你懂的在线观看| 亚洲精品无码mv在线观看网站| 亚洲综合色自拍一区| 亚洲国产精品嫩草影院在线观看 | 亚洲色欲一区二区三区在线观看| 亚洲成A∨人片天堂网无码| 亚洲精品国产高清嫩草影院 | 两个人看的www高清免费视频| 两个人的视频www免费| 亚洲精品免费视频| 国产成在线观看免费视频| 成人爱做日本视频免费| 亚洲综合另类小说色区色噜噜| 国产亚洲一区二区手机在线观看| 亚洲AV日韩AV天堂一区二区三区| 91亚洲国产成人精品下载| 国产亚洲视频在线播放大全| 国产成人免费ā片在线观看老同学 | 亚洲av无码一区二区三区不卡|