<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

    搜索

    •  

    積分與排名

    • 積分 - 825709
    • 排名 - 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ù)目是很有必要的

    如果大家需要轉載,請你也附上此文連接



    posted on 2007-11-14 19:55 Ke 閱讀(442) 評論(0)  編輯  收藏 所屬分類: tag
    主站蜘蛛池模板: 亚洲国产高清在线一区二区三区 | 看一级毛片免费观看视频| 又粗又硬免费毛片| 在线观看特色大片免费网站| 亚洲一级视频在线观看| 亚洲M码 欧洲S码SSS222| 最近中文字幕完整免费视频ww| 亚洲色少妇熟女11p| 亚洲AV无码一区东京热久久| 啦啦啦高清视频在线观看免费| aa午夜免费剧场| 亚洲av产在线精品亚洲第一站| 亚洲国产综合久久天堂| 无码国产精品一区二区免费虚拟VR | 国产午夜无码精品免费看| 亚洲熟女www一区二区三区| 亚洲色成人WWW永久网站| 免费理论片51人人看电影| 国产免费一区二区三区在线观看| 亚洲精品美女久久7777777| 亚洲AV无码专区国产乱码电影 | 亚洲熟妇成人精品一区| 国产成A人亚洲精V品无码| 日本一区免费电影| 91精品国产免费久久国语蜜臀 | 在线观看永久免费视频网站| 久久成人免费播放网站| 永久免费精品影视网站| 亚洲熟女精品中文字幕| 精品无码一区二区三区亚洲桃色 | 欧美最猛性xxxxx免费| 精品成人免费自拍视频| 特级av毛片免费观看| 亚洲综合精品第一页| 777亚洲精品乱码久久久久久| 亚洲国产一级在线观看 | 国产亚洲AV手机在线观看 | 午夜亚洲AV日韩AV无码大全| 亚洲国产成人久久笫一页| 暖暖日本免费在线视频| 97国产免费全部免费观看|