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 阅读(2255) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: