分页

分页插件有时不起作用

import java.util.ArrayList;
import java.util.List;


//传入一个大的集合
/*
 * 页数 = 记录条数 % 每页条数 == 0
 第N页显示第几条记录(记录从0开始算)? (N-1)*每页条数=<序号< N*每页条数
 * */
public class Pager<T> {
	private List<T> originalList; // 大的集合,外界传入
	private int curentPageIndex = 1; // 当前页号,外界传入
	private int countPerpage = 2; // 每页条数,外界可以设定
	private List<T> targetList; //小的集合,返回
	private int pageCount; // 页数
	private int recordCount; // 记录条数
	private int prePageIndex; // 上一页序号
	private int nextPageIndex; // 下一页序号
	private boolean firstPage; // 是否第一页
	private boolean lastPage; // 是否最后一页

	public void setCurentPageIndex(int curentPageIndex) { // 每当页数改变,都会调用这个函数,筛选代码可以写在这里
		this.curentPageIndex = curentPageIndex;

		// 上一页,下一页确定
		prePageIndex = curentPageIndex - 1;
		nextPageIndex = curentPageIndex + 1;
		// 是否第一页,最后一页
		if (curentPageIndex == 1) {
			firstPage = true;
		} else {
			firstPage = false;
		}
		if (curentPageIndex == pageCount) {
			lastPage = true;
		} else {
			lastPage = false;
		}
		// 筛选工作
		targetList = new ArrayList<T>();
		for (int i = (curentPageIndex - 1) * countPerpage; i < curentPageIndex
				* countPerpage
				&& i < recordCount; i++) {
			targetList.add(originalList.get(i));
		}
	}

	public int getCurentPageIndex() {
		return curentPageIndex;
	}

	public List<T> getOriginalList() {
		return originalList;
	}

	public void setOriginalList(List<T> originalList) {
		this.originalList = originalList;
		// 计算条数
		recordCount = originalList.size();
		// 计算页数
		if (recordCount % countPerpage == 0) {
			pageCount = recordCount / countPerpage;
		} else {
			pageCount = recordCount / countPerpage + 1;
		}

		// 筛选工作
		targetList = new ArrayList<T>();
		for (int i = (curentPageIndex - 1) * countPerpage; i < curentPageIndex
				* countPerpage
				&& i < recordCount; i++) {
			targetList.add(originalList.get(i));
		}

	}

	public int getCountPerpage() {
		return countPerpage;
	}

	public void setCountPerpage(int countPerpage) {
		this.countPerpage = countPerpage;
	}

	public List<T> getTargetList() {
		return targetList;
	}

	public void seTtargetList(ArrayList<T> targetList) {
		this.targetList = targetList;
	}

	public int getPageCount() {
		return pageCount;
	}

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

	public int getRecordCount() {
		return recordCount;
	}

	public void setRecordCount(int recordCount) {
		this.recordCount = recordCount;
	}

	public int getNextPageIndex() {
		return nextPageIndex;
	}

	public void setNextPageIndex(int nextPageIndex) {
		this.nextPageIndex = nextPageIndex;
	}

	public int getPrePageIndex() {
		return prePageIndex;
	}

	public void setPrePageIndex(int prePageIndex) {
		this.prePageIndex = prePageIndex;
	}

	public boolean isFirstPage() {
		return firstPage;
	}

	public void setFirstPage(boolean firstPage) {
		this.firstPage = firstPage;
	}

	public boolean isLastPage() {
		return lastPage;
	}

	public void setLastPage(boolean lastPage) {
		this.lastPage = lastPage;
	}

}

测试

public Pager<Test> getPagerList(Integer pageNum,Integer pageSize){

	List<Test> allList = TestMapper.findAllList();
	
	Pager pager = new Pager();
	pager.setCurentPageIndex(pageNum);		//传入页码
    pager.setCountPerpage(pageSize);		//传入页大小
    pager.setBigList(allList);				//要分页的数据
    pager.getSmallList(); 

	return pager;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值