有没有一个简单的方法实现分页
使有struct和jsp技术
使有struct和jsp技术
解决方案 »
- 基于AJAX的长轮询(long-polling)方式的方式 , 实现一个实时日志显示器(抓取linux刷屏内容,由后台往前台模拟推送)
- 装tomcat时。。。急急急。。。
- tomcat报错,请各位看看
- Tomcat6.0中数据源的配置问题(server.xml配置问题)
- 关于JDBC连接SQL Server的2个问题
- Tomcat5.5经常出现这样的警告信息。很郁闷
- 大哥哥们快了看看那 帮帮小弟一下哟。。。。。。。。
- 大侠请看:从一个文本文件中逐行(大约三万行)取出数据,然后做一些去空格的操作等,然后将此行插入数据库中。但是程序只能插入到3000多
- 我是新手,请帮忙!怎样安装JSP环境?
- java.sql.SQLException: Invalid value for getShort() - '普通用户'
- Servlet中访问Hibernate时为什么找不到类?
- JAVA 中多文件编绎问题?
/**
* ----------------------------------------------------------------------------------------
* @author 宋尚忠
* ----------------------------------------------------------------------------------------
* 项目名称: 教材管理系统 模块名称: 公共工具包-分页查询与显示
* ----------------------------------------------------------------------------------------
*//**
* @author: Jqg TODO: 分页显示-保存分页基础信息
* ----------------------------------------------------------------------------------------
* @version:1.0
* @createdate: 2007-08-06
* ----------------------------------------------------------------------------------------
*/
package com.tjsoft.fish.util;
/**
* 分页Bean 保存分页信息
* @author jqg
*
*/
public class PageInfo {
/** 分页基础信息 */
protected long maxRecordNum; //全部记录数
protected long recordPerPage; //每页显示记录数
protected long currentRecordNum; //当前起始记录数
protected long currentPageNum; //当前页码
private long maxPageNum; //全部页数属性不要直接访问,因为它的值是通过maxRecordNum与recordPerPage计算出的
public void init(){
this.maxRecordNum = 0L; //全部记录数
this.currentRecordNum = 0L; //当前查询起始记录数
this.recordPerPage = IConstants.ROWS_PER_PAGE; //默认每页显示记录数
this.currentPageNum = 1L; //当前页码
this.maxPageNum =1L; //总页数
}
/** 构造方法 */
public PageInfo() {
init();
}
/**
* 构造方法二,直接设置当前页数
* @param currentPageNum
*/
public PageInfo(long currentPageNum) {
init();
this.currentPageNum = currentPageNum ;
}
/**
* 构造方法三,直接设置当前页码,每页最大记录数
* @param currentPageNum
* @param recordPerPage
*/
public PageInfo(long currentPageNum,long recordPerPage) {
init();
this.currentPageNum = currentPageNum;
recordPerPage = recordPerPage ;
}
/**
* 设置当前页数-由页面提交该信息
* 不可用,private方法
* @param long 当前页数
* @return
*/
public void setCurrentPageNum(long currentPageNum) {
this.currentPageNum = currentPageNum;
}
/**
* 返回当前显示页码
* @return
*/
public long getCurrentPageNum() {
// 如果当前页大于了 最大页,则修改为最大页码
this.currentPageNum = this.currentPageNum <= this.getMaxPageNum() ? //直接用maxPageNum会造成信息更新不同步现象
this.currentPageNum : this.maxPageNum;
if(currentPageNum==0) currentPageNum = 1;
return currentPageNum;
}
/**
* 设置当前页数,验证是否符合规范
* @param currentPageNum :String 类型
*/
public void setCurrentPageNum(String currentPageNum ) {
//为null 或者为空
if( currentPageNum == null || currentPageNum.trim().length() < 1 ) {
currentPageNum = "1";
}
//不符合[0-9],保留当前页
if (!currentPageNum.matches("[0-9]+")) {
currentPageNum = String.valueOf(this.currentPageNum);
}
//小于0字符,到起始页
if (Long.parseLong(currentPageNum) < 1L) {
currentPageNum = "1";
}
//大于最大页数,取最大页
else if (Long.parseLong(currentPageNum) > this.maxPageNum ) {
currentPageNum = String.valueOf( this.maxPageNum );
}
//call 内部 set当前页方法
this.setCurrentPageNum(Long.parseLong(currentPageNum));
}
/**
* 返回总记录数
* @return
*/
public long getMaxRecordNum() {
return maxRecordNum;
}
/**
* 设置总记录数-由后台查询设置
* @param maxRecordNum
*/
public void setMaxRecordNum(long maxRecordNum) {
this.maxRecordNum = maxRecordNum;
setMaxPageNum(maxRecordNum);
}
private void setMaxPageNum(long maxRecordNum){
if( this.maxRecordNum > 0L ) {//如果总记录数大于0
if( this.maxRecordNum % this.recordPerPage == 0L ) {
this.maxPageNum = this.maxRecordNum / this.recordPerPage;
}
else {
this.maxPageNum = this.maxRecordNum / this.recordPerPage + 1L;
}
}
else {
this.maxPageNum = 1L;
}
this.maxPageNum = maxPageNum ;
}
/**
* 设置每页显示记录数
* 不可用,private方法
* @param recordPerPage
*/
protected void setRecordPerPage(long recordPerPage) {
this.recordPerPage = recordPerPage;
}
/**
* 返回每页显示记录数
* @return
*/
public long getRecordPerPage( ) {
return recordPerPage;
}
/**
* 返回当前查询记录数
* @return
*/
public long getCurrentRecordNum() {
this.currentRecordNum = this.currentPageNum <= 1L ? 0 : (this.currentPageNum - 1L ) * this.recordPerPage;
return currentRecordNum;
}
/**
* 返回总页数
* @return
*/
public long getMaxPageNum() {
return maxPageNum;
}
/**
* tesing
* @param args
*/
public static void main(String args[]) {
PageInfo pageInfo = new PageInfo();
// pageInfo.setCurrentPageNum(4);
// pageInfo.setMaxRecordNum(15);
//
pageInfo.setMaxRecordNum(15);//设置记录总数
pageInfo.setCurrentPageNum(2);//设置当前页
System.out.println("~~~~~~~当前页~~~~~~~~~~~~"+pageInfo.getCurrentPageNum());
pageInfo.setCurrentPageNum(pageInfo.getCurrentPageNum() + 1);//下一页
System.out.println("~~~~~~~~~~~~下一页~~~~~~~"+pageInfo.getCurrentPageNum()+"\n即将起始的记录:"+pageInfo.getCurrentRecordNum()+pageInfo.getMaxPageNum());
}}