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

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

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

    posts - 19, comments - 53, trackbacks - 0, articles - 283
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    java List 分頁(yè)應(yīng)用(二)

    Posted on 2010-01-10 02:22 Gavin.lee 閱讀(613) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): java SE & EE
    應(yīng)用類(lèi):
    package com.Gavin.tools.util;

    import java.util.*;

    /**
     * 為L(zhǎng)ist分頁(yè)
     * 樣式比較簡(jiǎn)單,適合WAP使用,直接輸出頁(yè)碼到頁(yè)面
     
    */


    public class PagerUtil {
        
    private int pageSize = 10;// 每頁(yè)大小
        
        
    private int nextPage;// 下一頁(yè)
        
        
    private int prePage;// 前一頁(yè)
        
        
    private int pageCount;// 總頁(yè)數(shù)
        
        
    private int currentPage;// 當(dāng)前頁(yè)
        
        
    private int listSize = 0;// 記錄總數(shù)
        
        
    private ArrayList alist = new ArrayList();
        
        
    private String url;

        
        
    /**
         * 初始化記錄列表
         * 
    @param it Iterator
         * 
    @return ArrayList
         
    */

        
    public ArrayList getAlist(Iterator it) {
            ArrayList al 
    = new ArrayList();
            
    while (it.hasNext()) {
                al.add(it.next());
            }

            
    return al;
        }


        
    /**
         * 構(gòu)造方法
         * 
    @param list Collection
         
    */

        
    public PagerUtil(Collection list) {
            alist 
    = this.getAlist(list.iterator());
            listSize 
    = alist.size();
            nextPage 
    = 1;
            prePage 
    = 0;
            pageCount 
    = listSize / pageSize + 1;
            currentPage 
    = 1;
        }


        
    /**
         * 構(gòu)造方法
         * 
    @param list Collection
         * 
    @param pageSize int
         
    */

        
    public PagerUtil(Collection list, int pageSize) {
            alist 
    = (ArrayList) list;
            
    this.pageSize = pageSize;
            listSize 
    = alist.size();
            nextPage 
    = 1;
            prePage 
    = 0;
            pageCount 
    = listSize / pageSize;
            
    if (listSize % pageSize > 0{
                pageCount 
    = pageCount + 1;
            }

            currentPage 
    = 1;
        }


        
    public PagerUtil(Vector v, int pageSize) {
            
    for (int i = 0; i < v.size(); i++{
                alist.add(v.get(i));
            }

            
    this.pageSize = pageSize;
            listSize 
    = alist.size();
            nextPage 
    = 1;
            prePage 
    = 0;
            pageCount 
    = listSize / pageSize;
            
    if (listSize % pageSize > 0{
                pageCount 
    = pageCount + 1;
            }

            currentPage 
    = 1;
        }


        
    /**
         * 下一頁(yè)
         * 
    @return ArrayList
         
    */

        
    public int nextPage() {
            
    int tempInt = 1;
            
    if (currentPage < this.getPageCount() && currentPage >= 1{
                tempInt 
    = currentPage + 1;
            }
     else
                tempInt 
    = 1;
            
    return tempInt;
        }


        
    /**
         * 前一頁(yè)
         * 
    @return ArrayList
         
    */

        
    public int prePage() {
            
    int tempInt = 1;

            
    if (currentPage > 1{
                tempInt 
    = currentPage - 1;
            }
     else
                tempInt 
    = this.getPageCount();
            
    return tempInt;
        }


        
    /**
         * 第一頁(yè)
         * 
    @return ArrayList
         
    */

        
    public int firstPage() {
            nextPage 
    = 1;
            prePage 
    = this.getPageCount();
            currentPage 
    = nextPage;
            
    return currentPage;
        }


        
    /**
         * 最后一頁(yè)
         * 
    @return ArrayList
         
    */

        
    public int endPage() {
            nextPage 
    = this.getPageCount();
            prePage 
    = nextPage - 1;
            currentPage 
    = nextPage;
            
    return currentPage;
        }


        
    /**
         * 根據(jù)當(dāng)前頁(yè)得到記錄列表
         * 
    @param currentPage int
         * 
    @return ArrayList
         
    */

        
    public ArrayList getPageList() {
            ArrayList tempList 
    = new ArrayList();
            
    for (int i = (currentPage - 1* pageSize; i < (currentPage - 1)
                    
    * pageSize + pageSize; i++{
                
    if (i >= 0 && i < this.alist.size()) {
                    tempList.add(alist.get(i));
                }
     else
                    
    break;
            }

            
    return tempList;
        }


        
    public String getPageCtrlString() {
            String strCtrl 
    = "";
            
    if (this.currentPage == 1{
                
    //strCtrl = "首頁(yè) ";
            }
     else {
                strCtrl 
    = "<a href='" + url + "?page=1'>首頁(yè)</a> ";
            }

            
    if (this.currentPage == 1{
                
    //strCtrl = strCtrl + "上一頁(yè) ";
            }
     else {
                strCtrl 
    = strCtrl + "<a href='" + url + "?page=" + this.prePage() + "'>上頁(yè)</a> ";
            }

            
    if (this.currentPage == this.pageCount) {
                
    //strCtrl = strCtrl + "下一頁(yè) ";
            }
     else {
                strCtrl 
    = strCtrl + "<a href='" + url + "?page=" + this.nextPage() + "'>下頁(yè)</a> ";
            }

            
    if (this.currentPage == this.pageCount) {
                
    //strCtrl = strCtrl + "末頁(yè) ";
            }
     else {
                strCtrl 
    = strCtrl + "<a href='" + url + "?page=" + this.getPageCount() + "'>末頁(yè)</a> ";
            }

            strCtrl 
    = strCtrl + "\n\r";        //換行
    //        strCtrl = strCtrl
    //                + "跳到 <select name='toPage' onChange=\"window.location='" + url
    //                + "?page='+this.options[this.selectedIndex].value;\">";
            if(this.getPageCount() <= 1{
                
            }
     else if(this.getPageCount() <= 7{
                
    for (int i = 1; i <= this.getCurrentPage(); i++{
                    
    if (i == this.getCurrentPage()) {
                        strCtrl 
    = strCtrl + "<b>" + i + "</b> ";
                    }
     else {
                        strCtrl 
    = strCtrl + "<a href='" + url + "?page=" + i + "'>" + i + "</a> ";
                    }

                }

            }
     else if(4 < this.getCurrentPage() && this.getCurrentPage() < (this.getPageCount() - 3)) {
                
    for (int i = this.getCurrentPage() - 3; i <= this.getCurrentPage() + 3; i++{
                    
    if (i == this.getCurrentPage()) {
                        strCtrl 
    = strCtrl + "<b>" + i + "</b> ";
                    }
     else {
                        strCtrl 
    = strCtrl + "<a href='" + url + "?page=" + i + "'>" + i + "</a> ";
                    }

                }

            }
     else if(this.getCurrentPage() <= 4{
                
    for (int i = 1; i <= 7; i++{
                    
    if (i == this.getCurrentPage()) {
                        strCtrl 
    = strCtrl + "<b>" + i + "</b> ";
                    }
     else {
                        strCtrl 
    = strCtrl + "<a href='" + url + "?page=" + i + "'>" + i + "</a> ";
                    }

                }

            }
     else if((this.getPageCount() - 6<= this.getCurrentPage()) {
                
    for (int i = this.getPageCount() - 6; i <= this.getPageCount(); i++{
                    
    if (i == this.getCurrentPage()) {
                        strCtrl 
    = strCtrl + "<b>" + i + "</b> ";
                    }
     else {
                        strCtrl 
    = strCtrl + "<a href='" + url + "?page=" + i + "'>" + i + "</a> ";
                    }

                }

            }
     else {
                
    for (int i = this.getCurrentPage() - 3; i <= this.getCurrentPage() + 3; i++{
                    
    if (i == this.getCurrentPage()) {
                        strCtrl 
    = strCtrl + "<b>" + i + "</b> ";
                    }
     else {
                        strCtrl 
    = strCtrl + "<a href='" + url + "?page=" + i + "'>" + i + "</a> ";
                    }

                }

            }

            
            strCtrl 
    = strCtrl + "\n\r";        //換行
            strCtrl = strCtrl + "當(dāng)前" + this.getCurrentPage() + "/" + this.getPageCount() + "頁(yè) 每頁(yè)" 
                
    + this.getPageSize() + "條 共" + this.listSize + "";
            
    return strCtrl;
        }

        
        
    public int getCurrentPage() {
            
    return currentPage;
        }


        
    public int getNextPage() {
            
    return nextPage;
        }


        
    public int getPageCount() {
            
    return pageCount;
        }


        
    public int getPageSize() {
            
    return pageSize;
        }


        
    public int getPrePage() {
            
    return prePage;
        }


        
    public String getUrl() {
            
    return url;
        }


        
    public void setPrePage(int prePage) {
            
    this.prePage = prePage;
        }


        
    public void setPageSize(int pageSize) {
            
    this.pageSize = pageSize;
        }


        
    public void setPageCount(int pageCount) {
            
    this.pageCount = pageCount;
        }


        
    public void setNextPage(int nextPage) {
            
    this.nextPage = nextPage;
        }


        
    public void setCurrentPage(int currentPage) {
            
    if (currentPage > this.getPageCount()) {
                
    this.currentPage = this.getPageCount();
            }
     else if (currentPage < 0{
                
    this.currentPage = 1;
            }
     else {
                
    this.currentPage = currentPage;
            }

        }


        
    public void setUrl(String url) {
            
    this.url = url;
        }

        
    }


    測(cè)試類(lèi):
    package com.Gavin.tools.util;

    import java.util.ArrayList;

    public class TestPagrUtil {
        
    public static void main(String args[]) {
            ArrayList al 
    = new ArrayList();
            al.add(
    "a");
            al.add(
    "b");
            al.add(
    "c");
            al.add(
    "d");
            al.add(
    "e");
            al.add(
    "f");
            al.add(
    "g");
            al.add(
    "h");
            al.add(
    "i");
            al.add(
    "j");
            al.add(
    "k");
            al.add(
    "l");
            al.add(
    "m");
            al.add(
    "n");

            PagerUtil autopage 
    = new PagerUtil(al,1);
            autopage.setCurrentPage(
    5);
            autopage.setUrl(
    "/page/user/account/isprize.jsp");
            ArrayList currentPageList 
    = autopage.getPageList();        
            String ctrlStr 
    = autopage.getPageCtrlString();
            
            
    for(Object o: currentPageList) {
                System.out.println(o.toString());
            }

            System.out.println(ctrlStr);
        }

    }

    //
    //e
    //<a href='/page/user/account/isprize.jsp?page=1'>首頁(yè)</a> <a href='/page/user/account/isprize.jsp?page=4'>上頁(yè)</a> <a href='/page/user/account/isprize.jsp?page=6'>下頁(yè)</a> <a href='/page/user/account/isprize.jsp?page=14'>末頁(yè)</a> 
    //
    //<a href='/page/user/account/isprize.jsp?page=2'>2</a> <a href='/page/user/account/isprize.jsp?page=3'>3</a> <a href='/page/user/account/isprize.jsp?page=4'>4</a> <b>5</b> <a href='/page/user/account/isprize.jsp?page=6'>6</a> <a href='/page/user/account/isprize.jsp?page=7'>7</a> <a href='/page/user/account/isprize.jsp?page=8'>8</a> 
    //
    //當(dāng)前5/14頁(yè) 每頁(yè)1條 共14條
    主站蜘蛛池模板: 欧洲精品99毛片免费高清观看| 国产v亚洲v天堂无码网站| 亚洲成av人片在线天堂无| 无码国产精品一区二区免费I6| 亚洲网站免费观看| 1区2区3区产品乱码免费| 久久久久亚洲AV无码网站| 午夜影院免费观看| 亚洲伊人tv综合网色| 91久久青青草原线免费| 亚洲视频精品在线| 1000部啪啪未满十八勿入免费| 亚洲AV成人一区二区三区AV| 免费精品一区二区三区第35 | 激情五月亚洲色图| 日韩一区二区a片免费观看| 波多野结衣亚洲一级| 毛片免费全部免费观看| 亚洲精品亚洲人成在线| 日韩中文无码有码免费视频| 美国毛片亚洲社区在线观看| xvideos亚洲永久网址| 一区二区三区免费在线视频 | 青青草97国产精品免费观看| 免费中文字幕在线| 四虎国产精品成人免费久久| 久久久久亚洲AV无码专区网站| 三年片免费高清版 | 中文字幕免费在线| 亚洲国产成人精品久久| 成年女人免费视频播放77777| 亚洲AV日韩综合一区| 亚洲国产成人爱av在线播放| h片在线观看免费| 亚洲成a人片在线观看无码 | 久久精品国产亚洲精品| a视频在线免费观看| 久久久无码精品亚洲日韩蜜臀浪潮 | 亚洲一区二区三区香蕉| 久久综合给合久久国产免费| 亚洲五月丁香综合视频|