来自jeecms的分页代码,感觉不错,包含了一般的分页信息

来自jeecms的分页代码,感觉不错,包含了一般的分页信息,list属性对于one to many也适用:

Paginable.java

view plaincopy to clipboardprint?
package page;  
 
/** 
 * 可分页接口 
 *  
 * @author liufang 
 *  
 */ 
public interface Paginable {  
    /** 
     * 总记录数 
     *  
     * @return 
     */ 
    public int getTotalCount();  
 
    /** 
     * 总页数 
     *  
     * @return 
     */ 
    public int getTotalPage();  
 
    /** 
     * 每页记录数 
     *  
     * @return 
     */ 
    public int getPageSize();  
 
    /** 
     * 当前页号 
     *  
     * @return 
     */ 
    public int getPageNo();  
 
    /** 
     * 是否第一页 
     *  
     * @return 
     */ 
    public boolean isFirstPage();  
 
    /** 
     * 是否最后一页 
     *  
     * @return 
     */ 
    public boolean isLastPage();  
 
    /** 
     * 返回下页的页号 
     */ 
    public int getNextPage();  
 
    /** 
     * 返回上页的页号 
     */ 
    public int getPrePage();  

package page;

/**
 * 可分页接口
 *
 * @author liufang
 *
 */
public interface Paginable {
 /**
  * 总记录数
  *
  * @return
  */
 public int getTotalCount();

 /**
  * 总页数
  *
  * @return
  */
 public int getTotalPage();

 /**
  * 每页记录数
  *
  * @return
  */
 public int getPageSize();

 /**
  * 当前页号
  *
  * @return
  */
 public int getPageNo();

 /**
  * 是否第一页
  *
  * @return
  */
 public boolean isFirstPage();

 /**
  * 是否最后一页
  *
  * @return
  */
 public boolean isLastPage();

 /**
  * 返回下页的页号
  */
 public int getNextPage();

 /**
  * 返回上页的页号
  */
 public int getPrePage();
}
 

SimplePage.java

view plaincopy to clipboardprint?
package page;  
 
public class SimplePage implements Paginable {  
    private static final long serialVersionUID = 1L;  
    public static final int DEF_COUNT = 20;  
 
    public SimplePage() {  
    }  
 
    public SimplePage(int pageNo, int pageSize, int totalCount) {  
        if (totalCount <= 0) {  
            this.totalCount = 0;  
        } else {  
            this.totalCount = totalCount;  
        }  
        if (pageSize <= 0) {  
            this.pageSize = DEF_COUNT;  
        } else {  
            this.pageSize = pageSize;  
        }  
        if (pageNo <= 0) {  
            this.pageNo = 1;  
        } else {  
            this.pageNo = pageNo;  
        }  
        if ((this.pageNo - 1) * this.pageSize >= totalCount) {  
            this.pageNo = totalCount / pageSize;  
        }  
    }  
 
    /** 
     * 调整分页参数,使合理化 
     */ 
    public void adjustPage() {  
        if (totalCount <= 0) {  
            totalCount = 0;  
        }  
        if (pageSize <= 0) {  
            pageSize = DEF_COUNT;  
        }  
        if (pageNo <= 0) {  
            pageNo = 1;  
        }  
        if ((pageNo - 1) * pageSize >= totalCount) {  
            pageNo = totalCount / pageSize;  
        }  
    }  
 
    public int getPageNo() {  
        return pageNo;  
    }  
 
    public int getPageSize() {  
        return pageSize;  
    }  
 
    public int getTotalCount() {  
        return totalCount;  
    }  
 
    public int getTotalPage() {  
        int totalPage = totalCount / pageSize;  
        if (totalCount % pageSize != 0 || totalPage == 0) {  
            totalPage++;  
        }  
        return totalPage;  
    }  
 
    public boolean isFirstPage() {  
        return pageNo <= 1;  
    }  
 
    public boolean isLastPage() {  
        return pageNo >= getTotalPage();  
    }  
 
    public int getNextPage() {  
        if (isLastPage()) {  
            return pageNo;  
        } else {  
            return pageNo + 1;  
        }  
    }  
 
    public int getPrePage() {  
        if (isFirstPage()) {  
            return pageNo;  
        } else {  
            return pageNo - 1;  
        }  
    }  
 
    protected int totalCount = 0;  
    protected int pageSize = 20;  
    protected int pageNo = 1;  
 
    public void setTotalCount(int totalCount) {  
        this.totalCount = totalCount;  
    }  
 
    public void setPageSize(int pageSize) {  
        this.pageSize = pageSize;  
    }  
 
    public void setPageNo(int pageNo) {  
        this.pageNo = pageNo;  
    }  

package page;

public class SimplePage implements Paginable {
 private static final long serialVersionUID = 1L;
 public static final int DEF_COUNT = 20;

 public SimplePage() {
 }

 public SimplePage(int pageNo, int pageSize, int totalCount) {
  if (totalCount <= 0) {
   this.totalCount = 0;
  } else {
   this.totalCount = totalCount;
  }
  if (pageSize <= 0) {
   this.pageSize = DEF_COUNT;
  } else {
   this.pageSize = pageSize;
  }
  if (pageNo <= 0) {
   this.pageNo = 1;
  } else {
   this.pageNo = pageNo;
  }
  if ((this.pageNo - 1) * this.pageSize >= totalCount) {
   this.pageNo = totalCount / pageSize;
  }
 }

 /**
  * 调整分页参数,使合理化
  */
 public void adjustPage() {
  if (totalCount <= 0) {
   totalCount = 0;
  }
  if (pageSize <= 0) {
   pageSize = DEF_COUNT;
  }
  if (pageNo <= 0) {
   pageNo = 1;
  }
  if ((pageNo - 1) * pageSize >= totalCount) {
   pageNo = totalCount / pageSize;
  }
 }

 public int getPageNo() {
  return pageNo;
 }

 public int getPageSize() {
  return pageSize;
 }

 public int getTotalCount() {
  return totalCount;
 }

 public int getTotalPage() {
  int totalPage = totalCount / pageSize;
  if (totalCount % pageSize != 0 || totalPage == 0) {
   totalPage++;
  }
  return totalPage;
 }

 public boolean isFirstPage() {
  return pageNo <= 1;
 }

 public boolean isLastPage() {
  return pageNo >= getTotalPage();
 }

 public int getNextPage() {
  if (isLastPage()) {
   return pageNo;
  } else {
   return pageNo + 1;
  }
 }

 public int getPrePage() {
  if (isFirstPage()) {
   return pageNo;
  } else {
   return pageNo - 1;
  }
 }

 protected int totalCount = 0;
 protected int pageSize = 20;
 protected int pageNo = 1;

 public void setTotalCount(int totalCount) {
  this.totalCount = totalCount;
 }

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

 public void setPageNo(int pageNo) {
  this.pageNo = pageNo;
 }
}
 

Pagination.java

view plaincopy to clipboardprint?
package page;  
 
import java.util.List;  
import java.io.Serializable;  
@SuppressWarnings("serial")  
public class Pagination<T extends Serializable> extends SimplePage implements java.io.Serializable,  
        Paginable {  
 
    public Pagination() {  
    }  
 
    public Pagination(int pageNo, int pageSize, int totalCount) {  
        super(pageNo, pageSize, totalCount);  
    }  
 
    public Pagination(int pageNo, int pageSize, int totalCount, List<T> list) {  
        super(pageNo, pageSize, totalCount);  
        this.list = list;  
    }  
 
    public int getFirstResult() {  
        return (pageNo - 1) * pageSize;  
    }  
 
    /** 
     * 当前页的数据 
     */ 
    private List<T> list;  
 
    public List<T> getList() {  
        return list;  
    }  
 
    public void setList(List<T> list) {  
        this.list = list;  
    }  

package page;

import java.util.List;
import java.io.Serializable;
@SuppressWarnings("serial")
public class Pagination<T extends Serializable> extends SimplePage implements java.io.Serializable,
  Paginable {

 public Pagination() {
 }

 public Pagination(int pageNo, int pageSize, int totalCount) {
  super(pageNo, pageSize, totalCount);
 }

 public Pagination(int pageNo, int pageSize, int totalCount, List<T> list) {
  super(pageNo, pageSize, totalCount);
  this.list = list;
 }

 public int getFirstResult() {
  return (pageNo - 1) * pageSize;
 }

 /**
  * 当前页的数据
  */
 private List<T> list;

 public List<T> getList() {
  return list;
 }

 public void setList(List<T> list) {
  this.list = list;
 }
}
 

分页的时候使用Pagination类就可以了~```

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/adaikiss/archive/2009/08/25/4483902.aspx

你可能感兴趣的:(.net,Blog)