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

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

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


    posts - 15,  comments - 34,  trackbacks - 27
    一簡介
    Pager-taglib,是一套分頁標(biāo)簽庫,可以靈活地實現(xiàn)多種不同風(fēng)格的分頁導(dǎo)航頁面,并且可以很好的與服務(wù)器分頁邏輯分離支持多種風(fēng)格的分頁顯示。通過這些標(biāo)簽的不同的組合,會形成多種不一樣的分頁頁面,風(fēng)格各異,它自帶的DEMO就有七種左右的分頁風(fēng)格,包括Google的分頁風(fēng)格。而需要訂制自已的風(fēng)格的分頁頁面也非常簡單。
    分頁方式有兩種:
    一種是從Action中得到一個List,在頁面上通過<pg:item>進(jìn)行自動分頁。
    第二種是通過把 pageSize,pageNo兩參數(shù)傳給后臺進(jìn)行數(shù)據(jù)庫分頁。

    本文只演示第二種數(shù)據(jù)庫分頁:普通form提交方式和對開源ajaxAnywhere的支持

    二、準(zhǔn)備
    把pager-taglib.jar放到lib目錄下(僅此足亦,完全沒必要改web.xml什么的,還有官方war包中的東西都可以不要)

    <%@?taglib?uri="/WEB-INF/pager-taglib.tld"?prefix="pg"%>
    <%@?taglib?prefix="c"?uri="/WEB-INF/c.tld"%>



    三,form提交方式

    1.將公用的部分提出來單獨放在公共的jsp文件中pagination_tag.jsp

    <table?border=0?cellpadding=0?cellspacing=0?align=right>
    ????
    <tr?align=center?valign=top>
    ????????
    <pg:page?export="first,last">
    ????????????
    <td>
    ????????????????$
    {first}?-?${last}?of?${total}&nbsp;&nbsp;
    ????????????
    </td>
    ????????
    </pg:page>
    ????????
    <pg:first?export="pageUrl"?unless="current">
    ????????????
    <td>
    ????????????????
    <c:if?test="${pageUrl!=null?}">
    ????????????????????
    <A?HREF="${pageUrl}">?<b>[第一頁]</b>?</A>
    ????????????????
    </c:if>
    ????????????
    </td>
    ????????
    </pg:first>
    ????????
    <pg:prev?export="pageUrl"?ifnull="${true?}">
    ????????????
    <td?align=right>
    ????????????????
    <c:if?test="${pageUrl!=null?}">
    ????????????????????
    <A?HREF="${pageUrl}">?<b>[前一頁]&nbsp;</b>?</A>
    ????????????????
    </c:if>
    ????????????
    </td>
    ????????
    </pg:prev>
    ????????
    <pg:pages>
    ????????????
    <td?align=right>
    ????????????????
    <c:choose>
    ????????????????????
    <c:when?test="${pageNumber?==?currentPageNumber}">
    ????????????????????????
    <font?color=#A90A08>${pageNumber}&nbsp;</font>
    ????????????????????
    </c:when>
    ????????????????????
    <c:otherwise>
    ????????????????????????
    <A?HREF="${pageUrl}">${pageNumber}&nbsp;</A>
    ????????????????????
    </c:otherwise>
    ????????????????
    </c:choose>
    ????????????
    </td>
    ????????
    </pg:pages>
    ????????
    <pg:next?export="pageUrl"?ifnull="${true?}">
    ????????????
    <td>
    ????????????????
    <c:if?test="${pageUrl!=null?}">
    ????????????????????
    <A?HREF="${pageUrl}">?<b>[下一頁]</b>?</A>
    ????????????????
    </c:if>
    ????????????
    </td>
    ????????
    </pg:next>
    ????????
    <pg:last?export="pageUrl"?unless="current">
    ????????????
    <td>
    ????????????????
    <c:if?test="${pageUrl!=null?}">
    ????????????????????
    <A?HREF="${pageUrl}">?<b>[最后頁]</b>?</A>
    ????????????????
    </c:if>
    ????????????
    </td>
    ????????
    </pg:last>
    ????
    </tr>
    </table>

    2.使用方法
    <pg:pager?url="/CrmWeb/jsp/integrateAccept/custOrder.do"?items="${total}"?maxPageItems="${pageSize}"
    ?maxIndexPages
    ="${5}"?isOffset="${true}"?export="offset,currentPageNumber=pageNumber"
    ?scope
    ="request">
    ?
    <pg:param?name="method"?value="qryOrder"?/>
    <table>?????
    <c:forEach var="vo" items="${custOrders}">
    <tr>
    <td?>...</td>?
    </tr>
    </c:forEach>
    </table>??
    <pg:index>
    <jsp:include?page="pagination_tag.jsp"?flush="true"?/>
    ?
    </pg:index>
    </pg:pager>


    四.對ajaxAnywhere的分頁支持

    1.將公用的部分提出來單獨放在公共的jsp文件中pagination_tag_ajax.jsp

    <table?border=0?cellpadding=0?cellspacing=0?align=right>
    ????
    <tr?align=center?valign=top>
    ????????
    <pg:page?export="first,last">
    ????????????
    <td>
    ????????????????$
    {first}?-?${last}?of?${total}&nbsp;&nbsp;
    ????????????
    </td>
    ????????
    </pg:page>
    ????????
    <pg:first?export="pageUrl"?unless="current">
    ????????????
    <td>
    ????????????????
    <c:if?test="${pageUrl!=null?}">
    ????????????????????
    <A?HREF="#"?onClick="javascript:{${ajaxInvoke}('${pageUrl}');}">?<b>[μúò?ò3]</b>?</A>
    ????????????????
    </c:if>
    ????????????
    </td>
    ????????
    </pg:first>
    ????????
    <pg:prev?export="pageUrl"?ifnull="${true?}">
    ????????????
    <td?align=right>
    ????????????????
    <c:if?test="${pageUrl!=null?}">
    ????????????????????
    <A?HREF="#"?onClick="javascript:{${ajaxInvoke}('${pageUrl}');}">?<b>[?°ò?ò3]&nbsp;</b>?</A>
    ????????????????
    </c:if>
    ????????????
    </td>
    ????????
    </pg:prev>
    ????????
    <pg:pages>
    ????????????
    <td?align=right>
    ????????????????
    <c:choose>
    ????????????????????
    <c:when?test="${pageNumber?==?currentPageNumber}">
    ????????????????????????
    <font?color=#A90A08>${pageNumber}&nbsp;</font>
    ????????????????????
    </c:when>
    ????????????????????
    <c:otherwise>
    ????????????????????????
    <A?HREF="#"?onClick="javascript:{${ajaxInvoke}('${pageUrl}');}">${pageNumber}&nbsp;</A>
    ????????????????????
    </c:otherwise>
    ????????????????
    </c:choose>
    ????????????
    </td>
    ????????
    </pg:pages>
    ????????
    <pg:next?export="pageUrl"?ifnull="${true?}">
    ????????????
    <td>
    ????????????????
    <c:if?test="${pageUrl!=null?}">
    ????????????????????
    <A?HREF="#"?onClick="javascript:{${ajaxInvoke}('${pageUrl}');}">?<b>[??ò?ò3]</b>?</A>
    ????????????????
    </c:if>
    ????????????
    </td>
    ????????
    </pg:next>
    ????????
    <pg:last?export="pageUrl"?unless="current">
    ????????????
    <td>
    ????????????????
    <c:if?test="${pageUrl!=null?}">
    ????????????????????
    <A?HREF="#"?onClick="javascript:{${ajaxInvoke}('${pageUrl}');}">?<b>[×?oóò3]</b>?</A>
    ????????????????
    </c:if>
    ????????????
    </td>
    ????????
    </pg:last>
    ????
    </tr>
    </table>

    2.使用方法

    <%@?taglib?prefix="aa"?uri="/WEB-INF/ajaxanywhere.tld"%>
    <script?src="<c:url?value="/js/aa.js"/>"></script>
    <c:set?var="ajaxInvoke"?scope="request">ajaxPaginationInvoke</c:set>
    <aa:zone?name="next_step">
    <pg:pager?url="/CrmWeb/jsp/integrateAccept/custOrder.do"?items="${total}"?maxPageItems="${pageSize}"
    ?maxIndexPages
    ="${5}"?isOffset="${true}"?export="offset,currentPageNumber=pageNumber"
    ?scope
    ="request">
    ?
    <pg:param?name="method"?value="qryOrder"?/>
    <table>?
    ??????......
    <c:forEach var="vo" items="${custOrders}">
    <tr>
    <td?>...</td>?
    </tr>
    </c:forEach>
    </table>??
    <pg:index>
    <jsp:include?page="pagination_tag_ajax.jsp"?flush="true"?/>
    ?
    </pg:index>
    </pg:pager>
    </aa:zone>
    <script>
    ajaxAnywhere.formName?
    =?"ajax_form";
    function?ajaxPaginationInvoke(url){
    ????document.frames['ajax_form'].action
    =url;
    ????ajaxAnywhere.submitAJAX();
    }

    ajaxAnywhere.onAfterResponseProcessing
    =?function?(){
    }

    <script>

    效果見下圖
    ?_pagination_ajaxanywhere.jpg

    五.標(biāo)簽講解:從頁面里可以看到,這里使用了幾個標(biāo)簽

    1、<pg:pager>,在這個標(biāo)簽庫里就充當(dāng)著一個領(lǐng)袖的作用,一切子標(biāo)簽都在它里面工作。就以上出現(xiàn)的參數(shù)進(jìn)行解釋一下:
    items:數(shù)據(jù)的紀(jì)錄數(shù)
    maxPageItems:顯示最多的紀(jì)錄數(shù)/頁
    maxIndexPages:顯示最多的分頁數(shù)/次,如設(shè)為5的話,則會出現(xiàn)這樣的情況 1 2 3 4 5 .或 3 4 5 6 7 這樣的形式,其實她自帶的DEMO都喜歡把頁數(shù)展現(xiàn)出來排成一排。
    isOffset:與pg:item配套使用
    export:這個屬性比較重要,文檔也對此作好相對長篇幅的說明。這個屬性是讓標(biāo)簽給你暴露什么變量,當(dāng)然這些變量是有選擇的,如在Pager標(biāo)簽里,可以暴露出來的變量有pageOffset及pageNumber,即頁碼偏移量及頁碼。通過這兩個變量名,可以在Jsp或Java里面從Request里獲得。Export屬性接受的值還有表達(dá)式,如currentPage=pageNumber表示,把pageNumber的值暴露出來,并賦給一個叫CurrentPage的變量,這個變量將被保存到Request中,在Jsp或Java中可以得到。
    scope:咳。還需要講么?
    2、<pg:param>這個標(biāo)簽很有用,用來設(shè)置將要加入到URL的參數(shù)。使用Name屬性指定即可。
    3、<pg:index>這個標(biāo)簽說明分頁條顯示的內(nèi)容,在這里你可以設(shè)置各種風(fēng)格的分頁顯示方式。
    4, <pg:prev> , <pg:pages>,<pg:next>這些標(biāo)簽都是導(dǎo)航標(biāo)簽顧名思義,你一看例子就明白了,我就不用講了吧。

    posted on 2007-02-05 22:05 jacky 閱讀(4937) 評論(6)  編輯  收藏

    FeedBack:
    # 有點暈了[未登錄]
    2007-12-12 18:05 | 小天
    我現(xiàn)在要做的是在當(dāng)前頁面做以個模糊查詢,然后在把查出來的東西在這個頁面上顯示出來,我用的是struts來作的,我在action中已經(jīng)set list(也就是查到的所有東西) 和total(一共多少紀(jì)錄),可我在前臺jsp用你的方法弄出不來結(jié)果啊,<c:forEach var="vo" items="${custOrders}">這里的custOrders是List么 還是什么 ?  回復(fù)  更多評論
      
    # 有點暈了[未登錄]
    2007-12-12 18:09 | 小天
    能教教我么??我msn t281277005@live.jp  回復(fù)  更多評論
      
    # 有點暈了[未登錄]
    2007-12-12 18:14 | 小天
    url="/CrmWeb/jsp/integrateAccept/custOrder.do" 你的這個是干什么用的,我想作以個text 然后一點按鈕就到action中然后把東西用分頁顯示出來。。
    我剛學(xué)struts不久。  回復(fù)  更多評論
      
    # re: 分頁pager-taglib使用指南
    2007-12-25 01:10 | 路過
    @小天
    custOrders<List>

    url="/CrmWeb/jsp/integrateAccept/custOrder.do" 就是分頁的Action呀

    :)  回復(fù)  更多評論
      
    # 分頁pager-taglib使用指南[未登錄]
    2008-01-31 09:39 | 小天
    @路過
    謝謝;!!!  回復(fù)  更多評論
      
    # re: 分頁pager-taglib使用指南
    2008-04-17 17:05 | 王建
    您好 可以把 源代碼 發(fā)給我一份嗎?
    Email : wangjian3q@163.com  回復(fù)  更多評論
      

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


    網(wǎng)站導(dǎo)航:
     
    <2008年1月>
    303112345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(10)

    隨筆檔案

    文章分類

    文章檔案

    相冊

    收藏夾

    java

    搜索

    •  

    最新評論


    主站蜘蛛池模板: 亚洲av无码av在线播放| 成年人视频免费在线观看| 亚洲国产日韩视频观看| 亚洲国产成人精品不卡青青草原| 成人免费看吃奶视频网站| 成人A片产无码免费视频在线观看| 亚洲人成人网站18禁| 亚洲精品在线观看视频| 2022中文字字幕久亚洲| 日美韩电影免费看| 18禁免费无码无遮挡不卡网站| 久久青草国产免费观看| 西西人体免费视频| 一级毛片人与动免费观看| 看亚洲a级一级毛片| 亚洲夂夂婷婷色拍WW47| 精品亚洲国产成人| 亚洲日本香蕉视频观看视频| 国产亚洲3p无码一区二区| 久久亚洲欧洲国产综合| 亚洲国产中文字幕在线观看| 国产成人免费片在线视频观看| 人禽杂交18禁网站免费| 和日本免费不卡在线v| 国产一卡二卡四卡免费| 久草视频在线免费| 久久久久久久免费视频| 日韩精品无码区免费专区| 久久精品无码一区二区三区免费 | 日本不卡免费新一二三区| 无人在线观看免费高清视频| 全免费毛片在线播放| 嫖丰满老熟妇AAAA片免费看| 99爱在线精品免费观看| 无码国产精品一区二区免费虚拟VR | 久久久久久国产精品免费无码| 色猫咪免费人成网站在线观看| 久久99精品免费视频| 伊人久久免费视频| 日韩精品免费一级视频| 18禁超污无遮挡无码免费网站国产 |