⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pageinfo.java

📁 SSHMail Ajax方式提交,自动抓取页面内容,统计关键字个数.
💻 JAVA
字号:
package com.leo.util;

/*
 * Copyright (C) 2007 SuperLeo
 *
 * 产品名称:
 * 		分页
 * 
 * 修改履历:
 * 		version     2007年/6月/8日    更新者   内容 
 * 		1.0     2007/06/8     夏      新建
 */

import static com.leo.util.PageSize.PAGESIZE;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

/**
 * 
 * 分页用工具类
 * 
 * @author Ziyang.Xia
 */
public class PageInfo {

	// 总共符合条件的记录数目
	private int recordCount;

	// 当前页数
	private int page;

	// 每页大小
	private int pageSize = PAGESIZE;

	// 页面传递的URL
	private String url;

	// 返回到页面上的html
	private StringBuffer html;

	// 页面传递的参数
	private Map paramMap = new HashMap();

	/**
	 * 构造器1
	 * 
	 * @param page
	 *            :起始页
	 * @param url
	 *            :换页后的URL地址
	 */
	public PageInfo(int page, String url) {
		this.page = page;
		this.url = url;
	}

	/**
	 * 构造器2
	 * 
	 * @param page :
	 *            起始页
	 * @param url
	 *            :换页后的URL地址
	 * @param paramMap
	 *            :URL后的参数
	 */
	public PageInfo(int page, String url, Map paramMap) {
		this.page = page;
		this.url = url;
		this.paramMap = paramMap;
	}

	/**
	 * 构造器3
	 * 
	 * @param page :
	 *            起始页
	 * @param pagesize :
	 *            每页的记录数
	 * @param url
	 *            :换页后的URL地址
	 */
	public PageInfo(int page, int pagesize, String url) {
		this.page = page;
		this.pageSize = pagesize;
		this.url = url;
	}

	/**
	 * 构造器4
	 * 
	 * @param page :
	 *            起始页
	 * @param pagesize :
	 *            每页的记录数
	 * @param url
	 *            :换页后的URL地址
	 * @param paramMap
	 *            :URL后的参数
	 */
	public PageInfo(int page, int pagesize, String url, Map paramMap) {
		this.page = page;
		this.pageSize = pagesize;
		this.url = url;
		this.paramMap = paramMap;
	}

	/**
	 * <p>
	 * 获取总记录数
	 * </p>
	 * 
	 * @return String
	 */
	public int getRecordCount() {
		return recordCount;
	}

	/**
	 * <p>
	 * 设定总记录数
	 * </p>
	 * 
	 * @param recordCount
	 */
	public void setRecordCount(int recordCount) {
		this.recordCount = recordCount;
	}

	/**
	 * <p>
	 * 获取起始页
	 * </p>
	 * 
	 * @return String
	 */
	public int getPage() {
		return page;
	}

	/**
	 * <p>
	 * 获取下一页页码
	 * </p>
	 * 
	 * @return String
	 */
	public int getNextPage() {
		return page + 1;
	}

	/**
	 * <p>
	 * 获取前一页页码
	 * </p>
	 * 
	 * @return String
	 */
	public int getPrePage() {
		return page - 1;
	}

	/**
	 * <p>
	 * 获取总记录数
	 * </p>
	 * 
	 * @return String
	 */
	public int getPageSize() {
		return pageSize;
	}

	/**
	 * <p>
	 * 设定当前页
	 * </p>
	 * 
	 * @param page
	 */
	public void setPage(int page) {
		this.page = page;
	}

	/**
	 * <p>
	 * 设定当前页
	 * </p>
	 * 
	 * @param pageSize
	 */
	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}

	/**
	 * <p>
	 * 得到当前页
	 * </p>
	 * 
	 */
	public int getPageCount() {
		return (int) Math.ceil((double) recordCount / pageSize);
	}

	/**
	 * 是否有前一页,如果当前页数=1则没有
	 * 
	 * @return 是否有前一页
	 */
	public boolean isHasPrevPage() {
		if (page > 1) {
			return true;
		} else {
			return false;
		}
	}

	/**
	 * 是否有后一页,如果当前页数=总页数则没有
	 * 
	 * @return 是否有后一页
	 */
	public boolean isHasNextPage() {
		if (page < getPageCount()) {
			return true;
		} else {
			return false;
		}
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	/**
	 * 
	 * 
	 * @return
	 */
	private String ceateParamString() {
		String paramStr = "";
		Iterator iterator = paramMap.keySet().iterator();
		while (iterator.hasNext()) {
			String key = (String) iterator.next();
			paramStr = paramStr + "&" + key + "=" + paramMap.get(key);
		}
		return paramStr;
	}

	/**
	 * 
	 * @return
	 */
	public StringBuffer getHtml() {

		String paramString = new String();
		paramString = ceateParamString();
		html = new StringBuffer("");

		boolean flag = true;
		if (this.page > 1) {
			html.append("共&nbsp;" + this.getRecordCount() + "&nbsp;条记录&nbsp;&nbsp;");
			this.html.append("[&nbsp;");
			this.html.append("<a href='" + this.url + "?pageNum=1"
					+ paramString + "'>首页</a>&nbsp;");

			this.html.append("<a href='" + this.url + "?pageNum="
					+ this.getPrePage() + paramString + "'>上一页</a>&nbsp;");
			if (page >= getPageCount()) {
				this.html.append("]&nbsp;");
			}

		} else {
			flag = false;
		}

		if (page < getPageCount()) {
			if (flag == false) {
				this.html.append("[&nbsp;");
				flag = true;
			}
			this.html.append("<a href='" + this.url + "?pageNum="
					+ this.getNextPage() + paramString + "'>下一页</a>&nbsp;");

			this.html.append("<a href='" + this.url + "?pageNum="
					+ this.getPageCount() + paramString + "'>末页</a>");
			this.html.append("&nbsp;]&nbsp;");
		}

		if (page > 1 || page < getPageCount() || this.getRecordCount() > 0) {

			this.html.append("页数:&nbsp;");

			html.append("<select onChange='turnOverPage(this.value)'>\r\n");
			for (int i = 1; i <= getPageCount(); i++) {
				if (i == page) {
					html.append(" <option value='" + i + "' selected>" + i
							+ "&nbsp;/&nbsp;" + this.getPageCount()
							+ "</option>\r\n");
				} else {
					html.append(" <option value='" + i + "'>" + i
							+ "&nbsp;/&nbsp;" + this.getPageCount()
							+ "</option>\r\n");
				}
			}
			html.append("</select>\r\n");

			// 生成提交表单的JS
			html.append("<script language='javascript'>\r\n");
			html.append("	function turnOverPage(no){\r\n");
			html.append("		window.location.href='" + this.url
					+ "?pageNum='+no+'" + paramString + "';\r\n");
			html.append("	}\r\n");
			html.append("</script>\r\n");

		} else {

			html.append("暂无记录.");
		}

		return html;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -