一个简单封装的分页类
来源:互联网 发布:mysql去除表中重复数据 编辑:程序博客网 时间:2024/04/29 12:14
/*
* 创建日期 2005-1-10
* this.url = this.url.replaceAll("(&?start=//d*)|(&?pagesize=//d*)", "");
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
* @author 黄安邦
*/
package com.site.web;
/**
* @author Owner
*
* TODO 要更改此生成的类型注释的模板,请转至 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
public class Pager {
private int start = 0; //当前页
private int pageSize = 20; //每页记录数
private int totalRec = 0; //总记录数
private int totalPage = 0; //总页数
private String url = null; //路径
private String description = null;
public Pager(int totalRec, int start, int pageSize, String url) {
this.totalRec = totalRec;
this.pageSize = pageSize;
this.totalPage = this.totalRec % this.pageSize == 0 ? this.totalRec
/ this.pageSize : this.totalRec / this.pageSize + 1;
if (start < 0) {
this.start = 0;
} else if (start > totalRec) {
this.start = (this.totalPage - 1) * pageSize;
} else {
this.start = start;
}
this.url = url;
setDescription();
}
public void setDescription() {
StringBuffer sb = new StringBuffer();
sb.append("每页<b>");
sb.append(this.pageSize + "</b>条记录 |");
sb.append(" 共<b>");
sb.append(this.totalPage + "</b>页/<b>");
sb.append(this.totalRec + "</b>条记录 |");
this.url = this.url.replaceAll("(&?start=//d*)|(&?pagesize=//d*)", "");
if (this.start < this.pageSize) {
sb.append(" 首 页 上一页");
} else {
sb.append(" <a href='").append(this.url).append(
"&start=0&pagesize=").append(this.pageSize).append(
"'>首 页</a>");
sb.append(" <a href='").append(this.url).append(
"&start=").append(this.start - this.pageSize).append(
"&pagesize=").append(this.pageSize).append("'>上一页</a>");
}
if ((this.start >= (this.totalPage - 1) * this.pageSize)
|| (this.totalPage <= 1)) {
sb.append(" 下一页 尾 页");
} else {
sb.append(" <a href='").append(this.url).append(
"&start=").append(this.start + this.pageSize).append(
"&pagesize=").append(this.pageSize).append("'>下一页</a>");
sb.append(" <a href='").append(url).append("&start=")
.append((this.totalPage - 1) * this.pageSize).append(
"&pagesize=").append(this.pageSize).append(
"'>尾 页</a>");
}
sb.append(" | 第<b>" + (this.start / this.pageSize + 1)
+ "</b>页");
this.description = sb.toString();
}
public String getDescription() {
return this.description;
}
public int getStart() {
return this.start;
}
//test
public static void main(String[] args) {
Pager x = new Pager(13, 15, 3,
"http://localhost:8080/members.do?action=list&pagesize=3&start=15");
System.out.println(x.getDescription());
}
}
- 一个简单封装的分页类
- 封装的一个完整的分页类
- 封装简单分页类的实现
- 一个简单的分页类
- 一个简单的分页类
- 简单的分页封装(一)
- 简单的分页封装(二)
- 一个简单的分页
- 一个简单的分页
- 一个简单的分页
- 一个简单的Fibonacci类的封装
- PHP+MySql实现的简单分页类的封装
- 分页类的封装
- 完成端口的一个简单封装类
- 完成端口的一个简单封装类
- JDBC的一个简单封装类DBUtil
- 一个简单sqlite3的封装类
- 一个简单的串口封装类
- 生于七十年代的尴尬
- WinCVS学习
- 35岁前必须做好十件事
- 使用DirectShow技术切换双声道音频声道的方法
- 我的注册名字是delphier...
- 一个简单封装的分页类
- 源代码已经不重要!
- JSP中的转义字符
- 矩阵的一些操作
- 下一代社区短消息的变化
- 分布式组件对象Distribute Component Object Model(DCOM)的配置
- 九年的第一个100W(zt)
- 编写多线程网络检测程序的简单实现
- 关于我的项目