package org.chen.struts.servlet.vo;

import java.util.ArrayList;

public class PageBean {

/*
* 定义变量
*/
private ArrayList bigList; // 外界传入,大集合
private ArrayList smallList; // 当页的集合,小集合
private int allRecords=0; // 传入当前查询到的所有记录数,默认为0条记录
private int pageSize=10; // 每页显示条数,外界传入,默认为5条记录
private int pageCount=0; // 总页数,根据公式计算求出
private int currentPage=0; // 当前页数,外界传入,默认为第一页
private int currentRecordStrat=0; // 当前页的记录开始位置,有公式计算得出,默认开始于0
private int currentRecordEnd=0; // 当前页的记录结束位置,有公式计算得出,默认开始于0
private int previousPage=0; // 上一页
private int previousRecordStart=0; // 记录起始位置
private int previousRecordEnd=0; // 记录结束位置
private int nextPage=0; // 下一页
private int nextRecordStart=0; // 记录起始位置
private int nextRecordEnd=0; // 记录结束位置

/*
* 定义一个方法,用于计算当前页,上一页和下一页的页码和记录起始结束位置
*/
public void init(){
if(allRecords == 0){
return;
}
/*
* 计算出总共有多少页
*/
pageCount=(allRecords+pageSize-1)/pageSize;

/*
* 设置当前页的参数
*/
if(currentPage>0){
currentRecordStrat=(currentPage-1)*pageSize+1-1;
if(allRecords<currentPage*pageSize){
currentRecordEnd=allRecords;
}else{
currentRecordEnd=currentPage*pageSize;
}
}

/*
* 设置上一页参数
*/
if(currentPage>1){
previousPage=currentPage-1;
previousRecordStart=(previousPage-1)*pageSize+1-1;
previousRecordEnd=previousPage*pageSize;
}

/*
* 设置下一页参数
*/
if(currentPage<pageCount){
nextPage=currentPage+1;
nextRecordStart=(nextPage-1)*pageSize+1-1;
if(nextPage*pageSize<allRecords){
nextRecordEnd=nextPage*pageSize;
}else{
nextRecordEnd=allRecords;
}
}
}

public ArrayList getBigList() {
return bigList;
}
public void setBigList(ArrayList bigList) {
this.bigList = bigList;
}
public ArrayList getSmallList() {
return smallList;
}
public void setSmallList(ArrayList smallList) {
this.smallList = smallList;
}
public int getAllRecords() {
return allRecords;
}
public void setAllRecords(int allRecords) {
this.allRecords = allRecords;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getPageCount() {
return pageCount;
}
public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public int getCurrentRecordStrat() {
return currentRecordStrat;
}
public void setCurrentRecordStrat(int currentRecordStrat) {
this.currentRecordStrat = currentRecordStrat;
}
public int getCurrentRecordEnd() {
return currentRecordEnd;
}
public void setCurrentRecordEnd(int currentRecordEnd) {
this.currentRecordEnd = currentRecordEnd;
}
public int getPreviousPage() {
return previousPage;
}
public void setPreviousPage(int previousPage) {
this.previousPage = previousPage;
}
public int getPreviousRecordStart() {
return previousRecordStart;
}
public void setPreviousRecordStart(int previousRecordStart) {
this.previousRecordStart = previousRecordStart;
}
public int getPreviousRecordEnd() {
return previousRecordEnd;
}
public void setPreviousRecordEnd(int previousRecordEnd) {
this.previousRecordEnd = previousRecordEnd;
}
public int getNextPage() {
return nextPage;
}
public void setNextPage(int nextPage) {
this.nextPage = nextPage;
}
public int getNextRecordStart() {
return nextRecordStart;
}
public void setNextRecordStart(int nextRecordStart) {
this.nextRecordStart = nextRecordStart;
}
public int getNextRecordEnd() {
return nextRecordEnd;
}
public void setNextRecordEnd(int nextRecordEnd) {
this.nextRecordEnd = nextRecordEnd;
}
}


这是一个简单的JavaPage分页操作,有兴趣的同仁可以拿去看一下!