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

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

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

    隨筆 - 6  文章 - 129  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(14)

    隨筆檔案(6)

    文章分類(467)

    文章檔案(423)

    相冊

    收藏夾(18)

    JAVA

    搜索

    •  

    積分與排名

    • 積分 - 826309
    • 排名 - 49

    最新評論

    閱讀排行榜

    評論排行榜

    文章出處:http://blog.csdn.net/shrek_xu/archive/2006/06/01/767885.aspx

    最近因為項目需要,所以想把原來使用的displaytag1.0升級為displaytag1.1,其實升級的原因很簡單,1.0實在是太傻了,每次分頁還需要將所有數(shù)據(jù)一次載入,效率低到無法忍受:)

    1.1版最大的改進可以說是終于支持了大家期待以久的分次加載功能了,想顯示多少數(shù)據(jù)就載入多少數(shù)據(jù).1.1版本支持兩種方式的分頁,第一種是實現(xiàn)其org.displaytag.pagination.PaginatedList 接口,第二種是在頁面和后臺同時做修改來實現(xiàn)分頁功能.在網(wǎng)上關于第二種分頁的使用方法介紹的非常多,而且官方文檔上面寫的也比較詳細,所以在這里我主要介紹自己是如何使用第一種方式進行分頁的,且這種方式也是官方推薦分頁方式(自己摸索的,呵呵,不好不要見怪)

    首先寫一個此接口的實現(xiàn)類

    /**
     * PaginatedListImpl
     * User: shrek_xu
     * Date: 2006-5-30
     * Time: 20:35:18
     *
     * totalNum 所有條目數(shù)目
     * currentPage 當前所在頁號
     * objectsPerPage 每頁顯示條數(shù)
     * list 此頁所需要顯示的數(shù)據(jù)
     */
    public class PaginatedListHelper implements PaginatedList{
        private List list;
        private int pageNumber = 1;
        private int objectsPerPage = 20;
        private int fullListSize = 0;
        private String sortCriterion;
        private SortOrderEnum sortDirection;
        private String searchId;

        public List getList() {
            return list;
        }

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

        public int getPageNumber() {
            return pageNumber;
        }

        public void setPageNumber(int pageNumber) {
            this.pageNumber = pageNumber;
        }

        public int getObjectsPerPage() {
            return objectsPerPage;
        }

        public void setObjectsPerPage(int objectsPerPage) {
            this.objectsPerPage = objectsPerPage;
        }

        public int getFullListSize() {
            return fullListSize;
        }

        public void setFullListSize(int fullListSize) {
            this.fullListSize = fullListSize;
        }

        public String getSortCriterion() {
            return sortCriterion;
        }

        public void setSortCriterion(String sortCriterion) {
            this.sortCriterion = sortCriterion;
        }

        public SortOrderEnum getSortDirection() {
            return sortDirection;
        }

        public void setSortDirection(SortOrderEnum sortDirection) {
            this.sortDirection = sortDirection;
        }

        public String getSearchId() {
            return searchId;
        }

        public void setSearchId(String searchId) {
            this.searchId = searchId;
        }

    }

    然后在使用的時候只需要創(chuàng)建此類的一個實例,且將所需要的參數(shù)通過set方法賦值進去就可以了

     int page;

    /*
     *其中request中的page參數(shù)為displaytag中的默認當前頁數(shù),當然也可以使用*TableTagParameters.SORT_AMOUNT_PAGE來表示當前頁數(shù)
     */
     if(request.getParameter("page")!=null && !"".equals(request.getParameter("page"))){
             page=Integer.parseInt(request.getParameter("page"));
      }else{
             page=1;
      }
    PaginatedList paginaredList=new PaginatedListHelper();

     paginaredList.setPageNumber(page);

    // 此頁要顯示的list數(shù)據(jù)

    List list=.......;

    paginaredList.setList(list);

    // 總共有多少數(shù)據(jù),他會根據(jù)所有數(shù)目和每頁數(shù)目自動統(tǒng)計頁數(shù)

    paginaredList.setFullListSize(...);

    // 如果你只設定這幾個參數(shù),那么其余的參數(shù)將會默認為你實現(xiàn)類中所賦的初值

    最后,你還需要將這個實例放入到request或session中去,好讓displaytag知道這個是外部分頁

    request.setAttribute("pageList",paginaredList);

    在前臺只需象下面這樣寫就可以了

    <display:table name="${pageList}" id="list" requestURI="">

         <display:column property="id"/>

    </display:table>

    最開始我對每次都要傳入總共有多少條數(shù)據(jù)表示疑問,認為這個沒有必要,只需要第一次傳入就可以了,但是后來仔細想想,因為整個分頁過程是動態(tài)的,所以,很有可能在你翻頁的同時,原來的數(shù)據(jù)已經(jīng)發(fā)生了變化,所以每次傳入總數(shù)目是很有必要的

    如果大家需要轉(zhuǎn)載,請你也附上此文連接



    posted on 2007-11-14 19:55 Ke 閱讀(443) 評論(0)  編輯  收藏 所屬分類: tag
    主站蜘蛛池模板: 国产92成人精品视频免费| 午夜理伦剧场免费| 国产免费观看青青草原网站| 国产精品高清视亚洲一区二区 | 久久国产精品免费一区| 久久久久亚洲爆乳少妇无| yellow视频免费在线观看| 中文字幕亚洲乱码熟女一区二区 | 女同免费毛片在线播放| 国产亚洲一区二区三区在线| a级黄色毛片免费播放视频| 亚洲成熟xxxxx电影| 国产免费不卡视频| 亚洲综合色婷婷在线观看| 日本一道综合久久aⅴ免费| 四虎国产精品永免费| 国产av无码专区亚洲av果冻传媒 | h片在线播放免费高清| 国产亚洲综合久久系列| 一级成人a毛片免费播放| 亚洲字幕在线观看| 日韩在线天堂免费观看| 无码人妻一区二区三区免费视频 | 噜噜噜亚洲色成人网站∨| 美女视频黄的全免费视频| 色欲aⅴ亚洲情无码AV| 国产亚洲一区区二区在线| 日韩免费视频一区二区| 亚洲国产理论片在线播放| 国产精品无码素人福利免费| 一级有奶水毛片免费看| 亚洲成人动漫在线观看| 亚洲国产精品激情在线观看| 久久久久久久岛国免费播放| 四虎亚洲精品高清在线观看| 中文字幕精品亚洲无线码一区应用| 在线观看免费av网站| 国产精品亚洲专区无码不卡| 在线观看亚洲av每日更新| 无码一区二区三区免费视频| 一个人看的www免费在线视频|