📄 pagecontrol.java
字号:
/*
* @(#)PageControl.java 1.00 2004-9-22
*
* Copyright 2004 2004 . All rights reserved.
* PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package beansoft.jsp;
/**
* PageControl, 分页控制, 可以判断总页数和是否有上下页.
*
* @author beansoft
* @version 1.00 2004-9-22
*/
public class PageControl {
/** 每页显示记录数 */
private int pageCount;
/** 是否有上一页 */
private boolean hasPrevPage;
/** 记录总数 */
private int recordCount;
/** 是否有下一页 */
private boolean hasNextPage;
/** 最大页面数 */
private int maxPage;
/** 当前页码数 */
private int currentPage;
/**
*
*/
public PageControl() {
}
/**
* 进行分页计算.
*/
private void calculate() {
if (getPageCount() == 0) {
setPageCount(1);
}
maxPage = (int) Math.ceil(1.0 * getRecordCount() / getPageCount()); // 总页面数
if (maxPage == 0)
maxPage = 1;
// System.out.println("currentPage=" + currentPage);
// System.out.println("maxPage=" + maxPage);
// // Fixed logic error at 2004-09-25
hasNextPage = currentPage < maxPage;
hasPrevPage = currentPage > 1;
return;
}
/**
* @return Returns the 最大页面数.
*/
public int getMaxPage() {
calculate();
return maxPage;
}
/**
* @param currentPage
* The 最大页面数 to set.
*/
private void setMaxPage(int maxPage) {
this.maxPage = maxPage;
}
/**
* 是否有上一页数据
*/
public boolean hasPrevPage() {
calculate();
return hasPrevPage;
}
/**
* 是否有下一页数据
*/
public boolean hasNextPage() {
calculate();
return hasNextPage;
}
// Test
public static void main(String[] args) {
PageControl pc = new PageControl();
pc.setCurrentPage(0);
pc.setPageCount(5);
pc.setRecordCount(7);
System.out.println("当前页 " + pc.getCurrentPage());
System.out.println("有上一页 " + pc.hasPrevPage());
System.out.println("有下一页 " + pc.hasNextPage());
System.out.println("最大页面数 " + pc.getMaxPage());
}
/**
* @return Returns the 当前页码数.
*/
public int getCurrentPage() {
return currentPage;
}
/**
* 设置当前页码, 从 1 开始.
* @param currentPage
* The 当前页码数 to set.
*/
public void setCurrentPage(int currentPage) {
if (currentPage <= 0) {
currentPage = 1;
}
this.currentPage = currentPage;
}
/**
* @return Returns the recordCount.
*/
public int getRecordCount() {
return recordCount;
}
/**
* @param recordCount
* The recordCount to set.
*/
public void setRecordCount(int property1) {
this.recordCount = property1;
}
/**
* @return Returns the 每页显示记录数.
*/
public int getPageCount() {
return pageCount;
}
/**
* @param pageCount
* The 每页显示记录数 to set.
*/
public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -