Java Blog for Alex Wan

          Let life be beautiful like summer flowers and death like autumn leaves.

          統計

          留言簿(10)

          BlogJava

          Blogs

          DIV+CSS

          JQuery相關

          友情鏈接

          常去的地方

          數據供應

          閱讀排行榜

          評論排行榜

          java中簡單的翻頁功能的實現(PageManager)

          package util;
          import java.util.List;

          public class PageManager
          {
              private List allRecords = null;//collection儲存同一類型的對象的集合
              private int currentPage = 0;//當前頁碼
              private int totalPage = 0;//總頁數
              private int recordPerPage = -1;//每頁的對象數
              private int totalCount=0;//總的對象數
           //初始化
           public PageManager(List allRecords, int recordPerPage)
              {
                  if (allRecords == null || recordPerPage < 1) return;

                  this.allRecords = allRecords;
                  this.recordPerPage = recordPerPage;
                  this.totalCount=allRecords.size();
                  if (allRecords.size() % recordPerPage == 0)
                      this.totalPage = allRecords.size() / recordPerPage;
                  else
                      this.totalPage = allRecords.size() / recordPerPage + 1;
                  this.currentPage = 0;
              }
              //獲取所有對象集合
              public List getAllRecords()
              {
               return this.allRecords;
              }
           //獲取當前頁的的對象集合
              public List getCurrentPage()
              {
               return getPage(currentPage);
              }
              //根據序號獲取該對象所在的頁的對象集合
              public List getThePage(int recordno)
              {
               if (this.allRecords == null || this.allRecords.size() == 0)
                  {
                      this.currentPage = 0;
                      return null;
                  }
                  int pageNo=1;
                  if (recordno < 1) pageNo = 1;
                 
                  else if (recordno > this.allRecords.size())
                   pageNo = this.totalPage;
                  else
                  {
                   pageNo=recordno/this.recordPerPage+1;
                  }
                  this.currentPage = pageNo;
                 
                  int pageStart = (pageNo - 1) * this.recordPerPage;
                  int pageEnd = pageStart + this.recordPerPage - 1;
                  if (pageEnd > this.allRecords.size() - 1) pageEnd = this.allRecords.size() - 1;
                 
                  List result =this.allRecords.subList(pageStart, pageEnd+1);       
                  return result;
              }
             //根據頁碼獲取改頁的對象集合
              public List getPage(int pageNo)
              {
                  if (this.allRecords == null || this.allRecords.size() == 0)
                  {
                      this.currentPage = 0;
                      return null;
                  }
                 
                  if (pageNo < 1) pageNo = 1;
                  if (pageNo > this.totalPage) pageNo = this.totalPage;
                  this.currentPage = pageNo;
                 
                  int pageStart = (pageNo - 1) * this.recordPerPage;
                  int pageEnd = pageStart + this.recordPerPage - 1;
                  if (pageEnd > this.allRecords.size() - 1) pageEnd = this.allRecords.size() - 1;
                  List result =this.allRecords.subList(pageStart, pageEnd+1);
                  return result;
              }
              //獲取下一頁的對象集合
              public List getNextPage()
              {
                  return getPage(this.currentPage + 1);
              }
               //獲取上一頁的對象集合
              public List getPreviousPage()
              {
                  return getPage(this.currentPage - 1);
              }
             //獲取第一頁的對象集合 
              public List getFirstPage()
              {
                  return getPage(1);
              }
            //獲取最后一頁的對象集合
              public List getLastPage()
              {
                  return getPage(this.totalPage);
              }
             //獲取總頁數
           public int getTotalPage() {
            return totalPage;
           }
           //獲取當前頁碼 
           public int getCurrentPageCount()
           {
            return this.currentPage;
           }
           //獲取對象總數
           public int getTotalCount() {
            return totalCount;
           }


          }



          Let life be beautiful like summer flowers and death like autumn leaves.

          posted on 2008-06-07 10:19 Alexwan 閱讀(2306) 評論(0)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 遂溪县| 南雄市| 甘肃省| 屏南县| 庄浪县| 界首市| 巴楚县| 山东省| 讷河市| 广德县| 玉林市| 息烽县| 海原县| 左贡县| 朔州市| 塔河县| 金坛市| 福鼎市| 分宜县| 临邑县| 诸暨市| 耒阳市| 定安县| 南昌县| 睢宁县| 广灵县| 深州市| 城口县| 海安县| 北川| 伊川县| 高尔夫| 宜城市| 临泽县| 漳平市| 竹溪县| 丰顺县| 大邑县| 贵阳市| 宜兰市| 苏尼特右旗|