⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pager.java

📁 达内Java培训实训项目ECPORT原码。 包括逐步优化的四个版本: 简单工厂模式实现 简单Spring-IoC实现 Spring声明式事务实现 Spring-AOP集成
💻 JAVA
字号:
package com.royee.ecport.web;

public class Pager {
	int resultSize;
	int pageSize=10;
	int curPage=1;
	int curStart=0;
	int maxPage;
	
	public int getMaxPage() {
		return maxPage;
	}

	public Pager(int resultSize){
		this.resultSize=resultSize;
		rebuild();
	}	
	
	public Pager(int resultSize , int pageSize){
		this.resultSize=resultSize;
		this.pageSize=pageSize;
		rebuild();
	}

	public int getResultSize() {
		return resultSize;
	}

	public int getPageSize() {
		return pageSize;
	}

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

	private void rebuild() {
		if(resultSize<=0)
			maxPage=0;
		else
			maxPage=(resultSize-1)/pageSize+1;
		
		if(maxPage<=0)
			curPage=0;
		else if(curPage>maxPage)
			curPage=maxPage;
		else if(curPage<=0)
			curPage=1;
		curStart=(curPage-1)*pageSize;
	}

	public int getCurPage() {
		return curPage;
	}

	public int getCurStart() {
		return curStart;
	}
	
	public Pager next(){
		return toPage(curPage+1);
	}
	
	public Pager prev(){
		return toPage(curPage-1);
	}
	
	public Pager toPage(int page){
		if(maxPage>0){
			if(page<1)
				page=1;
			else if(page>maxPage)
				page=maxPage;
			curStart+=(page-curPage)*pageSize;
			curPage=page;
		}
		return this;
	}
	
	public Pager first(){
		return toPage(1);
	}
	
	public Pager last(){
		return toPage(maxPage);
	}

	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -