您的位置:首页 > 编程语言 > Java开发

java常用类—web分页

2018-01-19 09:38 204 查看
import java.util.List;

public class PageModel<T> {

private int totalRecords = 0;// 总记录数

private List<T> list;// 结果集

private int pageNumber;// 页码,第几页

private int pageSize;// 每页多少条

private T a;// 泛型类

private int totalpages;// 总页数

private Integer maxPage;// 最大页

private Integer minPage;// 最小页

private int fromIndex;// 从哪条开始
private int numIndex;
private int toIndex;// 到哪条结束

// 得到首页(可选择使用,也可以不适用)
public int getTopPageNumber() {
return 1;
}

// 上一页(可选择使用,也可以不适用)
public int getPreviousPageNumber() {
if (pageNumber <= 1) {
return 1;
}
return pageNumber - 1;
}

// 下一页(可选择使用,也可以不适用)
public int getNextPage() {
if (pageNumber >= this.getTotalpages()) {
return this.getTotalpages() == 1 ? 1 : this.getTotalpages();
}
return pageNumber + 1;
}

public int getTotalpages() {
return totalpages;
}

// 计算总页数
public void setTotalpages() {
int totalPage = totalRecords / pageSize;
int k = totalRecords % pageSize;
if (k != 0) {
totalPage = totalPage + 1;
}
this.totalpages = totalPage;
}

public int getLastPage() {
return this.getTotalpages() == 1 ? 1 : getTotalpages();
}

public int getTotalRecords() {
return totalRecords;
}

public void setTotalRecords(int totalRecords) {
this.totalRecords = totalRecords;
}

public List<T> getList() {
return list;
}

public void setList(List<T> list) {
this.list = list;
}

// 计算从哪条数据开始
public int getFromIndex() {
if (this.pageNumber == 1) {
this.fromIndex = 0;
}
if (this.pageNumber > 1 && this.pageNumber <= this.getTotalpages()) {
this.fromIndex = (pageNumber - 1) * 10;
}
return fromIndex;
}

public void setFromIndex(Integer fromIndex) {
this.fromIndex = fromIndex;
}

public int getToIndex() {
return toIndex;
}

public void setToIndex(int toIndex) {
this.toIndex = toIndex;
}

public int getPageNumber() {
return pageNumber;
}

// 分情况得到当前页
public void setPageNumber(int pageNum) {
if (pageNum <= totalpages && pageNum > 0) {// 当前页正常情况
this.pageNumber = pageNum;
}
if (pageNum > totalpages) {// 当前页比总页数大
this.pageNumber = totalpages;
}
if (pageNum <= 0) {// 当页码小于或者不等于的非正常0
this.pageNumber = 1;
}
}

public int getPageSize() {
return pageSize;
}

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

public void setA(T a) {
this.a = a;
}

public T getA() {
return a;
}

public void setMaxPage(Integer maxPage) {
this.maxPage = maxPage;
}

// 试用于数字分页(最右侧最大值)
public Integer getMaxPage() {
if (this.getTotalpages() > 10 && pageNumber > this.getTotalpages() - 5) {
return this.getTotalpages();
} else if (this.getTotalpages() < 10) {
return this.getTotalpages();
} else if (pageNumber <= 5 && this.getTotalpages() > 10) {
return 10;
} else {
return pageNumber + 5;
}
}

// 试用于数字左侧最小值
public Integer getMinPage() {
if (this.getMaxPage() < 10) {
return 1;
}
if (pageNumber < 5) {
return 1;
} else {
return pageNumber - 4;
}
}

public void setNumIndex(int numIndex) {
this.numIndex = numIndex;
}

// 计算从fromIndex后的多少条数据取出
public int getNumIndex() {
if (this.pageNumber == this.getTotalpages()) {// 最后一页的时候

return this.getTotalRecords() % this.pageSize;
} else {// 正常情况下
return this.pageSize;
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java常用类