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

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

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

    JAVA & XML & JAVASCRIPT & AJAX & CSS

    Web 2.0 技術儲備............

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      77 隨筆 :: 17 文章 :: 116 評論 :: 0 Trackbacks
    分頁接口 :

    ?1?package?com.forum.util;
    ?2?
    ?3?
    ?4?public?interface?Pager
    ?5?{
    ?6?????/**?默認第一頁號?**/
    ?7?????int???????FIRST_PAGE_NO?=?1;
    ?8?????
    ?9?????/**?默認頁大小?**/
    10?????int???DEFAULT_PAGE_SIZE?=?10;
    11?????
    12?????/**?頁大小?**/
    13?????String?PAGE_SIZE_KEY?=?"PageSize";
    14?????
    15?????/**?頁號?**/
    16?????String?PAGE_NO_KEY?=?"PageNO";
    17?????
    18?????/**?獲取記錄數?**/
    19?????int?getRowsCount();
    20?????
    21?????/**?設置記錄總數?**/
    22?????void?setRowsCount(?int?rowsCount?);
    23?????
    24?????/**?獲取總頁數?**/
    25?????int?getPageCount();
    26?????
    27?????/**?獲取頁大小?**/
    28?????int?getPageSize();
    29?????
    30?????/**?設置頁大小?**/
    31?????void?setPageSize(?int?pageSize?);
    32?????
    33?????/**?獲取上一頁號?**/
    34?????int?getPrevPageNO();
    35?????
    36?????/**?獲取上一頁鏈接?**/
    37?????String?getPrevPageURL();
    38?????
    39?????/**?獲取下一頁號?**/
    40?????int?getNextPageNO();
    41?????
    42?????/**?獲取下一頁鏈接?**/
    43?????String?getNextPageURL();
    44?????
    45?????/**?獲取第一頁號?**/
    46?????int?getFirstPageNO();
    47?????
    48?????/**?獲取第一頁鏈接?**/
    49?????String?getFirstPageURL();
    50?????
    51?????/**?獲取最后一頁號?**/
    52?????int?getLastPageNO();
    53?????
    54?????/**?獲取最后一頁鏈接?**/
    55?????String?getLastPageURL();
    56?????
    57?????/**?獲取當前頁號?**/
    58?????int?getCurPageNO();
    59?????
    60?????/**?獲取當前頁號鏈接?**/
    61?????String?getCurPageURL();
    62?????
    63?????/**?獲取指定頁號的連接?**/
    64?????String?getPageURL(?int?pageNO?);
    65?????
    66?????/**?是否有下一頁?**/
    67?????boolean?hasNextPage();
    68?????
    69?????/**?是否有上一頁?**/
    70?????boolean?hasPrevPage();
    71?????
    72?????/**?設置請求URL?**/
    73?????void?setRequestURL(?String?requestURL?);
    74?????
    75?????/**?獲取請求URL?**/
    76?????String?getRequestURL();
    77?????
    78?????/**?增加頁面參數?**/
    79?????void?addParameter(String?parameterName?,?String?parameterValue);
    80?????
    81?????/**?獲取分頁控制條?**/
    82?????String?getControlBar(?Object?parameter?);
    83?}
    84?


    接口實現 : SimplePager?
    ??1?/**
    ??2?????作者?:Fantasy
    ??3?????Email:?fantasycs@163.com
    ??4?????QQ???:?8635335
    ??5?????Blog?:?http://www.tkk7.com/fantasy
    ??6?*/
    ??7?package?com.forum.util;
    ??8?
    ??9?import?java.util.HashMap;
    ?10?import?java.util.Iterator;
    ?11?import?java.util.Map;
    ?12?
    ?13?/**?使用參考?JSP
    ?14?????<%?Pager?pager?=?new?SimplePager(memberCount?,?pageSize?,curPageNo?,?"listmembers");?%>
    ?15?????<a>總記錄數?:?<%=pager.getRowsCount()%>&nbsp;</a>&nbsp;&nbsp;&nbsp;
    ?16?????<a?href="#">當前頁數:<span?style="color:#FF0000"><%=pager.getCurPageNO()%></span></a>&nbsp;&nbsp;&nbsp;
    ?17?????<a?href="<%=pager.getFirstPageURL()%>">第一頁</a>&nbsp;&nbsp;&nbsp;
    ?18?????<a?href="<%=pager.getPrevPageURL()%>">上一頁</a>&nbsp;&nbsp;&nbsp;
    ?19?????<a?href="<%=pager.getNextPageURL()%>">下一頁</a>&nbsp;&nbsp;&nbsp;
    ?20?????<a?href="<%=pager.getLastPageURL()%>">最后一頁</a>&nbsp;&nbsp;&nbsp;
    ?21?????跳轉到&nbsp;<select?onChange="document.URL=this.value">
    ?22?????<%?for(?int?i?=?1?;?i?<=?pager.getPageCount()?;?i++?)?{?%>
    ?23?????<option?value="<%=pager.getPageURL(i)%>"?<%=?pager.getCurPageNO()?==?i???"selected"?:?""?%>>第?<%=i%>?頁</option>
    ?24?????<%?}?%>
    ?25?????<br>
    ?26?????<%=pager.getControlBar("center")%>
    ?27?????</select>
    ?28??**/
    ?29?public?class?SimplePager?implements?Pager
    ?30?{
    ?31?????private?int?rowsCount;
    ?32?????
    ?33?????private?int?pageCount;
    ?34?????
    ?35?????private?int?curPageNO;
    ?36?????
    ?37?????private?int?pageSize;
    ?38?????
    ?39?????private?String?requestURL;
    ?40?????
    ?41?????private?Map?paramter?=?new?HashMap();
    ?42?????
    ?43?????/**
    ?44??????*?構造函數?★推薦使用★
    ?45??????*?@param?rowsCount?記錄總數
    ?46??????*?@param?pageSize?????每頁顯示記錄數
    ?47??????*?@param?curPageNO?當前頁
    ?48??????*?@param?requestURL頁面訪問URL
    ?49??????*?@param?Example?:?Pager?pager?=?new?SimplePager(threadsCount?,?pageSize?,curPageNo?,?"listthreads");
    ?50??????*?@param?保存參數[通常是保存頁面查詢條件]?:?pager.addParameter("username","root");
    ?51??????*?@param?保存參數[通常是保存頁面查詢條件]?:?pager.addParameter("logindate","2006-11-11");
    ?52??????*/
    ?53?????public?SimplePager(?int?rowsCount?,?int?pageSize??,?int?curPageNO?,?String?requestURL?)
    ?54?????{
    ?55?????????this.rowsCount?=?rowsCount;
    ?56?????????this.pageSize??=?pageSize?>?0???pageSize?:?DEFAULT_PAGE_SIZE;
    ?57?????????this.curPageNO?=?curPageNO?>=?FIRST_PAGE_NO????curPageNO?:?FIRST_PAGE_NO;
    ?58?????????this.requestURL??=?requestURL;
    ?59?????}
    ?60?????
    ?61?????/**
    ?62??????*?★不推薦使用★
    ?63??????*?@param?必須設置rowsCount?否則只有一頁
    ?64??????*?@param?必須設置pageSize??否則默認每頁只顯示10條
    ?65??????*?@param?必須設置curPageNO?否則你永遠都在第一頁
    ?66??????*?@param?必須設置requestURL否則將使用默認請求地址,生成鏈接地址結果(理論上不會錯)?:?<a?href='?PageNO=2&PageSize=10'?title='第2頁'>[2]</a>
    ?67??????*/
    ?68?????public?SimplePager()
    ?69?????{
    ?70?????????this.rowsCount?=?0;
    ?71?????????this.pageSize??=?DEFAULT_PAGE_SIZE;
    ?72?????????this.curPageNO?=?FIRST_PAGE_NO;
    ?73?????????this.requestURL??=?"";
    ?74?????}
    ?75?????
    ?76?????public?int?getCurPageNO()
    ?77?????{
    ?78?????????return?curPageNO;
    ?79?????}
    ?80?????
    ?81?????public?int?getNextPageNO()
    ?82?????{
    ?83?????????return?curPageNO?+?1?<=?getPageCount()???curPageNO?+?1?:?getPageCount();
    ?84?????}
    ?85?????
    ?86?????public?void?setRowsCount(?int?rowsCount?)
    ?87?????{
    ?88?????????this.rowsCount?=?rowsCount;
    ?89?????}
    ?90?????
    ?91?????public?int?getRowsCount()
    ?92?????{
    ?93?????????return?rowsCount;
    ?94?????}
    ?95?????
    ?96?????public?String?getNextPageURL()
    ?97?????{
    ?98?????????return?getPageURL(?getNextPageNO()?);
    ?99?????}
    100?????
    101?????public?String?getPrevPageURL()
    102?????{
    103?????????return?getPageURL(?getPrevPageNO()?);
    104?????}
    105?????
    106?????public?int?getPageCount()
    107?????{
    108?????????return?(rowsCount?>?0?&&?rowsCount?%?pageSize?==?0)???(rowsCount?/?pageSize)?:?(rowsCount/pageSize?+?1);
    109?????}
    110?????
    111?????public?int?getPageSize()
    112?????{
    113?????????return?pageSize;
    114?????}
    115?????
    116?????public?String?getCurPageURL()
    117?????{
    118?????????return?getPageURL(?getCurPageNO()?);
    119?????}
    120?????
    121?????public?int?getPrevPageNO()
    122?????{
    123?????????return?curPageNO?-?1?>=?FIRST_PAGE_NO???curPageNO?-?1?:?FIRST_PAGE_NO?;
    124?????}
    125?????
    126?????public?boolean?hasNextPage()
    127?????{
    128?????????return?curPageNO?+?1?<=?getPageCount();
    129?????}
    130?????
    131?????public?boolean?hasPrevPage()
    132?????{
    133?????????return?curPageNO?-?1?>=?FIRST_PAGE_NO?;
    134?????}
    135?????
    136?????public?void?setRequestURL(String?requestURL)
    137?????{
    138?????????this.requestURL?=?requestURL;
    139?????}
    140?????
    141?????public?String?getRequestURL()
    142?????{
    143?????????return?requestURL;
    144?????}
    145?????
    146?????public?void?setPageSize(int?pageSize)
    147?????{
    148?????????this.pageSize?=?pageSize;
    149?????}
    150?????
    151?????public?int?getFirstPageNO()
    152?????{
    153?????????return?FIRST_PAGE_NO;
    154?????}
    155?????
    156?????public?String?getFirstPageURL()
    157?????{
    158?????????return?getPageURL(?getFirstPageNO()?);
    159?????}
    160?????
    161?????public?int?getLastPageNO()
    162?????{
    163?????????return?getPageCount();
    164?????}
    165?????
    166?????public?String?getLastPageURL()
    167?????{
    168?????????return?getPageURL(?getLastPageNO()?);
    169?????}
    170?????
    171?????public?String?getPageURL(int?pageNO)
    172?????{
    173?????????pageNO?=?pageNO?>=?FIRST_PAGE_NO????pageNO?:?FIRST_PAGE_NO;
    174?????????pageNO?=?pageNO?<=?getPageCount()???pageNO?:?getPageCount();
    175?????????StringBuffer?buffer?=?new?StringBuffer(256);
    176?????????buffer.append(requestURL).append("?").append(PAGE_NO_KEY).append("=").append(?pageNO?);
    177?????????buffer.append("&").append(PAGE_SIZE_KEY).append("=").append(pageSize);
    178?????????return?paramter.size()?>?0???buffer.append(?getRequestParameter()?).toString()?:?buffer.toString();
    179?????}
    180?????
    181?????public?void?addParameter(String?parameterName,?String?parameterValue)
    182?????{
    183?????????paramter.put(parameterName?,?parameterValue);
    184?????}????
    185?????
    186?????/**
    187??????*?生成默認分頁工具條
    188??????*?樣式?:?<<第一頁??<前十頁??[1]?[2]?[3]?[4]?[5]?[6]?[7]??后十頁>??最后一頁>>
    189??????*/
    190?????public?String?getControlBar(?Object?parameter?)
    191?????{
    192?????????int?pagesView?=?10;
    193?????????int?pageCount?=?getPageCount();
    194?????????int?startPageNo?=?FIRST_PAGE_NO?;
    195?????????int?endPageNo?=??pageCount;
    196?????????if(?pagesView?<??pageCount?)
    197?????????{
    198?????????????startPageNo?=?curPageNO?-?pagesView/2?>=?FIRST_PAGE_NO???curPageNO?-?pagesView/2?:?FIRST_PAGE_NO;
    199?????????????startPageNo?=?startPageNo?+?pagesView?<=?pageCount???startPageNo?:?pageCount?-?pagesView;
    200?????????????endPageNo???=?startPageNo?+?pagesView;
    201?????????}
    202?????????StringBuffer?bar?=?new?StringBuffer(1024);
    203?????????bar.append("<div?id='PageControlBar'?align='"?+?parameter.toString()?+?"'>");
    204?????????bar.append("<a?href='"?+?getFirstPageURL()?+?"'?title='第一頁'><span><<第一頁</span></a>&nbsp;&nbsp;");
    205?????????bar.append("<a?href='"?+?getPageURL(?curPageNO?-?10?)?+?"'?title='前10頁'><span><前十頁</span></a>&nbsp;");
    206?????????for(?int?i?=?startPageNo?;?i?<=?endPageNo?;?i++)
    207?????????{
    208?????????????bar.append("&nbsp;<a?href='"?+?getPageURL(?i?)?+?"'?title='第"?+?i?+?"頁'"?+?(?i?==?curPageNO???"style='color:red;'"?:?"")?+?">["?+?i?+?"]</a>");
    209?????????}
    210?????????bar.append("&nbsp;&nbsp;<a?href='"?+?getPageURL(?curPageNO?+?10?)?+?"'?title='后10頁'><span>后十頁></span></a>");
    211?????????bar.append("&nbsp;&nbsp;<a?href='"?+?getLastPageURL()?+?"'?title='最后一頁'><span>最后一頁>></span></a>");
    212?????????bar.append("</div>");
    213?????????return?bar.toString();
    214?????}
    215?????
    216?????/**
    217??????*?獲取自定義參數
    218??????*/
    219?????private?String?getRequestParameter()
    220?????{
    221?????????StringBuffer?buffer?=?new?StringBuffer(256);
    222?????????for(?Iterator?iter?=?paramter.entrySet().iterator()?;?iter.hasNext()?;?)
    223?????????{
    224?????????????Map.Entry?entry?=?(Map.Entry)iter.next();
    225?????????????buffer.append("&").append(?entry.getKey()).append("=").append(entry.getValue());
    226?????????}
    227?????????return?buffer.toString();
    228?????}
    229?}
    230?


    ?若該API 有什么BUG或者設計的上的問題請各位高手指教。

    菜鳥俺先謝過了~~ 嘿嘿

    Pager 源代碼下載

    Pager 源代碼下載

    Pager 源代碼下載
    posted on 2006-10-16 23:20 Web 2.0 技術資源 閱讀(4361) 評論(9)  編輯  收藏 所屬分類: JAVA

    評論

    # re: [原創] 一個完善的輕量級分頁API Pager ! 有源代碼....... 2006-10-17 11:38 曲靜波
    我想你只考慮到JSP使用了,如果你打算把它做成通用的應該考慮到Servlet訪問。還有,你的JSP上的內容,可以封裝成標簽。  回復  更多評論
      

    # re: [原創] 一個完善的輕量級分頁API Pager ! 有源代碼....... 2006-10-17 20:14 fantasy
    錯! Servlet訪問肯定不存在任何問題。

    request.setAttribute("pager", pager);

    能更好的解決問題。  回復  更多評論
      

    # re: [原創] 一個完善的輕量級分頁API Pager ! 有源代碼....... 2006-10-17 22:59 Web 2.0 技術資源
    該 Pager 能使用于任何WEB容器。

    關鍵是怎么使用他。  回復  更多評論
      

    # re: [原創] 一個完善的輕量級分頁API Pager ! 有源代碼....... 2006-10-18 14:41 123bingbing
    增開7群,號碼 30440732
    8群 30756649
    9群 30178567
    10群 28694497

    我們的qq群:15096318 學習程序的都可以來
      回復  更多評論
      

    # re: [原創] 一個完善的輕量級分頁API Pager ! 有源代碼....... 2008-01-24 18:04 sly
    那段放在JSP頁面中的代碼可以直接加進頁面中使用吧,  回復  更多評論
      

    # re: [原創] 一個完善的輕量級分頁API Pager ! 有源代碼....... 2008-01-24 18:05 sly
    <% Pager pager = new SimplePager(memberCount , pageSize ,curPageNo , "listmembers"); %>

    但是這個地方怎么老是報錯呀  回復  更多評論
      

    # re: [原創] 一個完善的輕量級分頁API Pager ! 有源代碼....... 2008-01-24 20:43 Web 2.0 技術資源
    @sly
    報什么錯啊........ 不得哦!  回復  更多評論
      

    # re: [原創] 一個完善的輕量級分頁API Pager ! 有源代碼....... 2008-01-25 11:55 sly
    可以發一個簡單的實例過來看一下嗎?  回復  更多評論
      

    # re: [原創] 一個完善的輕量級分頁API Pager ! 有源代碼....... 2013-05-16 16:03 龍歌
    好像跟查詢的數據沒有關聯 ?  回復  更多評論
      

    主站蜘蛛池模板: 亚洲成av人片天堂网无码】| 中文字幕av无码不卡免费| 免费一级毛片免费播放| 人妻在线日韩免费视频| 亚洲国产精品免费在线观看| 久久综合亚洲色HEZYO社区| 毛片免费vip会员在线看| 一级A毛片免费观看久久精品| 免费观看a级毛片| 中文字幕久无码免费久久| 亚洲男人天堂影院| 成人免费观看一区二区| 激情无码亚洲一区二区三区| 亚洲啪啪综合AV一区| 成人a免费α片在线视频网站| 中文字幕高清免费不卡视频| 在线aⅴ亚洲中文字幕| 亚洲成色WWW久久网站| 四虎在线视频免费观看| 亚洲国产精品免费视频| 在线视频亚洲一区| 91情侣在线精品国产免费| 免费人成再在线观看网站| 亚洲国产日产无码精品| 狠狠亚洲婷婷综合色香五月排名| 免费看国产成年无码AV片| 污污网站免费观看| 精品国产污污免费网站入口| 久久精品国产亚洲AV未满十八| 亚洲精品网站在线观看你懂的| 久久亚洲国产成人精品无码区| 免费观看的毛片手机视频| 91精品免费久久久久久久久| a毛片免费观看完整| 亚洲国产成人久久77| 亚洲精品国产精品乱码视色| 四虎影视永久免费观看地址| 青青操在线免费观看| 337P日本欧洲亚洲大胆艺术图| 亚洲啪啪免费视频| 亚洲精品免费在线|