📄 pager.java
字号:
/******************************************************************************* * 文件名: Pager.java <br> * 版本: <br> * 描述: 分页显示类 <br> * 版权所有: <br> * //////////////////////////////////////////////////////// <br> * 创建者: 裴蓓 <br> * 创建日期: 2005-9-19 <br> * 修改者: <br> * 修改日期: <br> * 修改说明: <br> ******************************************************************************/package com.hope.itissue.shared;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 + -