ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

PageUtil分页工具

2019-07-25 20:00:27  阅读:322  来源: 互联网

标签:navCount 分页 int void PageUtil currPage return 工具 public


package cn.gzsxt.util;

import java.util.List;

//封装了一个页面的全部信息
public class PageUtil {

	private int currPage; // 当前页
	private int pageSize; // 每页多少条数据
	private int navCount; // 导航条中的总数字
	private int rowCount; // 总数据量

	private int nextPage; // 下一页
	private int prevPage; // 上一页
	private int pageCount; // 总页数

	private int firstPage; // 首页
	private int lastPage; // 尾页

	private int startNav; // 起始导航数字
	private int endNav; // 结束导航数字

	private List pageData; // 一页的数据内容

	public int getCurrPage() {
		return currPage;
	}

	public void setCurrPage(int currPage) {
		this.currPage = currPage;
	}

	public int getPageSize() {
		return pageSize;
	}

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

	public int getNavCount() {
		return navCount;
	}

	public void setNavCount(int navCount) {
		this.navCount = navCount;
	}

	public int getRowCount() {
		return rowCount;
	}

	public void setRowCount(int rowCount) {
		this.rowCount = rowCount;
	}

	public int getNextPage() {
		return nextPage;
	}

	public void setNextPage(int nextPage) {
		this.nextPage = nextPage;
	}

	public int getPrevPage() {
		return prevPage;
	}

	public void setPrevPage(int prevPage) {
		this.prevPage = prevPage;
	}

	public int getPageCount() {
		return pageCount;
	}

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

	public int getFirstPage() {
		return firstPage;
	}

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

	public int getLastPage() {
		return lastPage;
	}

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

	public int getStartNav() {
		return startNav;
	}

	public void setStartNav(int startNav) {
		this.startNav = startNav;
	}

	public int getEndNav() {
		return endNav;
	}

	public void setEndNav(int endNav) {
		this.endNav = endNav;
	}

	public List getPageData() {
		return pageData;
	}

	public void setPageData(List pageData) {
		this.pageData = pageData;
	}

	public PageUtil() {
	}

	public PageUtil(int currPage, int pageSize, int navCount, int rowCount) {
		this.currPage = currPage;
		this.pageSize = pageSize;
		this.navCount = navCount;
		this.rowCount = rowCount;

		this.pageCount = (int) Math.ceil(this.rowCount / (this.pageSize * 1.0));
		this.firstPage = 1;
		this.lastPage = this.pageCount;

		// 避免传过来的currPage不在首页和尾页之间
		this.currPage = this.currPage < this.firstPage ? this.firstPage
				: this.currPage;
		this.currPage = this.currPage > this.lastPage ? this.firstPage
				: this.currPage;

		this.prevPage = this.currPage - 1 <= 0 ? this.firstPage
				: this.currPage - 1;

		this.nextPage = this.currPage + 1 >= this.lastPage ? this.lastPage
				: this.currPage + 1;

		// 计算起始导航数字和结束导航数字: 始终保证this.endNav - this.startNav = this.navCount - 1;
		this.startNav = (this.currPage - this.navCount / 2) < this.firstPage ? this.firstPage
				: (this.currPage - this.navCount / 2);

		this.endNav = (this.startNav + this.navCount - 1) > this.lastPage ? this.lastPage
				: (this.startNav + this.navCount - 1);

		
		if (this.pageCount > this.navCount) {
			this.startNav = this.endNav - this.startNav < this.navCount - 1 ? this.endNav
					- this.navCount + 1
					: this.startNav;
		}

	}

	public static void main(String[] args) {
		PageUtil pu = new PageUtil(1, 10, 10, 89);
		System.out.println("总页数:" + pu.getPageCount());
		System.out.println("上一页:" + pu.getPrevPage());
		System.out.println("下一页:" + pu.getNextPage());
		System.out.println("起始导航数字:" + pu.getStartNav());
		System.out.println("结束导航数字:" + pu.getEndNav());
	}
}

  

标签:navCount,分页,int,void,PageUtil,currPage,return,工具,public
来源: https://www.cnblogs.com/cqming/p/11246590.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有