java分页代码实现2

 public class PageSplit {
 int page = 1;// 请求显第page页
 int count = 1; // 记录总数
 int currentPage = 1;// 实际显示currentPage页
 int pageCount = 1;// 总页面数
 int rows = 1; // 每页显示的行数
 List list = null;

 /**
    * 构造方法一
    *
    * @param list准备进行分页的List对象
    */
 public PageSplit(List list) {
    super();
    this.list = list;
 }

 /**
    * 构造方法二
    *
    * @param rows
    *             每页显示的行数
    * @param list
    *             准备进行分页的List对象
    */
 public PageSplit(int rows, List list) {
    super();
    this.rows = rows;
    this.list = list;
 }

 /**
    * 返回第page页的所有内容,结果仍为List型
    *
    * @param page返回第page页的内容
    * @return
    */
 public List currentList(int page) {
    this.page = page;
    currentPage = page;
    count = list.size();
    pageCount = (count + rows - 1) / rows; // 根据你的纪录总数,显示行数,来计算分多少页

    /* 如果请求页小于1,则让当前页面数等于1 */
    if (currentPage < 1) {
     currentPage = 1;
    }
    /* 如果请求页大于总页数,则让当前页面数等于总页数 */
    if (currentPage > pageCount) {
     currentPage = pageCount;
    }

    List newList;
    /* 不是满页的情况 */
    if ((((currentPage - 1) * rows) + rows) > count) {
     return newList = list.subList((currentPage - 1) * rows, count);
    }
    /* 恰巧每页都满的情况 */
    else {
     return newList = list.subList((currentPage - 1) * rows,
       ((currentPage - 1) * rows) + rows);
    }
 }

 public int getPage() {
    return page;
 }

 public void setPage(int page) {
    this.page = page;
 }

 public int getCount() {
    return count;
 }

 public void setCount(int count) {
    this.count = count;
 }

 public int getCurrentPage() {
    return currentPage;
 }

 public void setCurrentPage(int currentPage) {
    this.currentPage = currentPage;
 }

 public int getPageCount() {
    return pageCount;
 }

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

 public int getRows() {
    return rows;
 }

 public void setRows(int rows) {
    this.rows = rows;
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值