📄 pager.java
字号:
/*******************************************************************************
* 文件名: Pager.java <br>
* 版本: <br>
* 描述: 分页显示类 <br>
* 版权所有: <br>
* //////////////////////////////////////////////////////// <br>
* 创建者: 裴蓓 <br>
* 创建日期: 2005-9-19 <br>
* 修改者: <br>
* 修改日期: <br>
* 修改说明: <br>
******************************************************************************/
package com.hope.common.util;
import java.util.HashMap;
import java.util.Iterator;
/**
*
* TODO 要更改此生成的类型注释的模板,请转至 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
public class Pager {
//当前页
private int currentPage;
//总页数
private int totalPage;
//总记录数
private int totalRecord;
//一页记录数
private int pageSize;
//判断是否还有页数
private int hasNext;
//存放字符串的键值对
private HashMap hm = new HashMap();
//查询字符串
private String queryString;
//首页链接
private String firstLink;
//上一页链接
private String previousLink;
//下一页链接
private String nextLink;
//尾页链接
private String lastLink;
//toPage文本框中的链接
private String forScriptLink;
/**
* 构造Pager对象,参数为pageSize一页的记录数,queryString查询字符串
*/
public Pager(int pageSize, String queryString) {
this.setQueryString(queryString);
this.setPageSize(pageSize);
}
/**
* 生成javascript中的链接字符串
*
* @return 返回 text。
*/
public String getForScriptLink() {
if (hm.containsKey("toPage")) {
hm.remove("toPage");
}
return "?" + this.getQueryString();
}
/**
* @return 返回 当前页。
*/
public int getCurrentPage() {
return currentPage;
}
/**
* 设置当前页
*
* @param currentPage
*/
public void setCurrentPage(String toPage) {
int tmpage = 1;
try {
tmpage = Integer.parseInt(toPage);
}
catch (NumberFormatException e) {
tmpage = 1;
}
if (tmpage < 1) {
tmpage = 1;
}
else if (tmpage > this.getTotalPage()) {
tmpage = this.getTotalPage();
}
this.currentPage = tmpage;
}
/**
* @return 返回 首页的链接。
*/
public String getFirstLink() {
return this.getQueryStr(1);
}
/**
* @return 返回 hasNext。
*/
public int getHasNext() {
int i = 1;
if (this.getCurrentPage() >= this.getTotalPage()) {
i = 0;
}
return i;
}
/**
* @return 返回 最后一页的链接。
*/
public String getLastLink() {
return this.getQueryStr(this.getTotalPage());
}
/**
* @return 返回 nextLink。
*/
public String getNextLink() {
return this.getQueryStr(this.currentPage + 1);
}
/**
* @return 返回 pageSize。
*/
public int getPageSize() {
return pageSize;
}
/**
* @param pageSize
* 要设置的 pageSize。
*/
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
/**
* @return 返回 previousLink。
*/
public String getPreviousLink() {
return this.getQueryStr(this.currentPage - 1);
}
/**
* @param previousLink
* 要设置的 previousLink。
*/
public void setPreviousLink(String previousLink) {
this.previousLink = previousLink;
}
/**
* 组合查询字符串
*
* @return 返回 queryString。
*/
public String getQueryString() {
StringBuffer sb = new StringBuffer();
Iterator i = hm.keySet().iterator();
while (i.hasNext()) {
String key = (String) i.next();
String value = (String) hm.get(key);
sb.append("&");
sb.append(key);
sb.append("=");
sb.append(value);
}
return sb.delete(0, 1).toString();
}
/**
* 解析传入的查询字符串
*
* @param queryString
*/
public void setQueryString(String queryString) {
if (queryString != null) {
String[] s = queryString.split("&");
for (int i = 0; i < s.length; i++) {
String[] s1 = s[i].split("=");
hm.put(s1[0], s1[1]);
}
}
}
/**
* @return 返回 totalPage。
*/
public int getTotalPage() {
return totalPage;
}
/**
* @param totalPage
* 要设置的 totalPage。
*/
public void setTotalPage() {
if (this.totalRecord % this.pageSize == 0) {
this.totalPage = this.totalRecord / this.pageSize;
}
else {
this.totalPage = this.totalRecord / this.pageSize + 1;
}
}
/**
* @return 返回 totalRecord。
*/
public int getTotalRecord() {
return totalRecord;
}
/**
* @param totalRecord
* 要设置的 totalRecord。
*/
public void setTotalRecord(int totalRecord) {
this.totalRecord = totalRecord;
}
/**
*
* @param key
* @return
*/
public String getQueryParameter(String key) {
String value = "";
if (key != "toPage") {
value = (String) hm.get(key);
}
else {
int tmpage = 1;
try {
value = (String) hm.get(key);
tmpage = Integer.parseInt(value);
}
catch (NumberFormatException e) {
tmpage = 1;
}
catch (NullPointerException e1) {
tmpage = 1;
}
if (tmpage < 1) {
tmpage = 1;
}
else if (tmpage > this.getTotalPage()) {
tmpage = this.getTotalPage();
}
value = tmpage + "";
}
return value;
}
/**
* 设置参数值
*
* @param key
* @param value
*/
public void setQueryParameter(String key, String value) {
hm.put(key, value);
}
/**
*
* @param toPage
* @return String
*/
public String getQueryStr(int toPage) {
this.setQueryParameter("toPage", toPage + "");
return "?" + this.getQueryString();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -