JSP分页工具类

本文详细介绍了在JSP中实现分页的方法,包括如何创建分页工具类,利用Servlet和JSP配合进行数据查询和展示,以及如何处理用户请求改变页面大小和跳转页数。通过实例代码,解析了分页参数的传递和计算逻辑,帮助开发者更好地理解和应用分页功能。

/**
 * 页面里的一页数据的对象
 * @author BluceYoung
 *
 */
public class PageUtil<T> {
	private int pageNo;//当前第几页
	private int pageCount;//共多少页
	private int pageSize=5;//每页显示多少条
	private int totalCount;//总数据条数
	List<T> listData=new ArrayList<T>();
	
	/**
	 * 获取当前页码
	 * @return
	 */
	public int getPageNo() {
		return pageNo;
	}
	/**
	 * 获取总页数
	 * @return
	 */
	public int getPageCount() {
		return pageCount;
	}
	/**
	 * 获取每页数据条数
	 * @return
	 */
	public int getPageSize() {
		return pageSize;
	}
	/**
	 * 获取总数据条数
	 * @return
	 */
	public int getTotalCount() {
		return totalCount;
	}
	/**
	 * 获取本页数据集合
	 * @return
	 */
	public List<T> getListData() {
		return listData;
	}
	
	
	
	/**
	 * 设置当前页码,下限1,上限pageCount
	 * @param pageNo
	 */
	public void setPageNo(int pageNo) {
		this.pageNo = pageNo;
		if(this.pageNo<1) {
			this.pageNo=1;
		}
		if(this.totalCount>0 && pageNo >pageCount) {//页码超过总页数
			this.pageNo=pageCount;//设置为末页
		}
	}
	/**
	 * 设置每页数据条数
	 * @param pageSize
	 */
	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}
	/**
	 * 设置总数据条数
	 * @param totalCount
	 */
	public void setTotalCount(int totalCount) {
		this.totalCount = totalCount;
		//计算总页数
		this.pageCount=totalCount/pageSize;
		if(totalCount%pageSize>0) {//页数不够,得加一页
			this.pageCount++;
		}
	}
	/**
	 * 设置当前页数据
	 * @param listData
	 */
	public void setListData(List<T> listData) {
		this.listData = listData;
	}
	
	/**
	 * 实例化一个数据页,确定:每页条数、总数据数、总页数
	 * @param pageSize
	 * @param totalCount
	 */
	public PageUtil(int pageSize, int totalCount) {
		super();
		this.pageSize = pageSize;
		setTotalCount(totalCount);
	}
	
	/**
	 * 根据页码获取查询语句的limit开始
	 * @param pageNo
	 * @return
	 */
	public int getLimitStart(int pageNo) {
		return (pageNo-1)*this.pageSize;
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值