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

📄 pagetools.java

📁 java阿里巴巴代码
💻 JAVA
字号:
package com.saas.biz.commen;

import com.saas.sys.exp.SaasApplicationException;

/**
 * @author:LiuYang
 * @desc: 公用分页工具条
 * @2008-7-2
 */

public class PageTools {
	
	
	public PageTools() {

	}
	
	
	
	/**
	 * @param record_Sum
	 *            记录总数
	 * @param page_Size
	 *            显示条数
	 * @param page
	 *            调转页面
	 * @return 分页工具条
	 * @throws SaasApplicationException
	 */
	public String getPageTools(String record_Sum, String page_Size, String page, int current) throws SaasApplicationException {

		int pagination = 0;// 页数
		int page_Down = 1;
		String first = "", end = "", up = "", down = "";
		if (Integer.parseInt(record_Sum) % Integer.parseInt(page_Size) == 0) {
			pagination = Integer.parseInt(record_Sum) / Integer.parseInt(page_Size);
		}
		else {
			pagination = Integer.parseInt(record_Sum) / Integer.parseInt(page_Size) + 1;
		}
		if (current > pagination) {
			current = pagination;
		}
		if (Integer.parseInt(record_Sum) == 0) {
			first = "首页";
			up = "上一页";
			down = "下一页";
			end = "尾页";
		}
		else if (current == 1) {
			if (pagination > 1) {
				page_Down = current + 1;
				first = "首页";
				up = "上一页";
				down = "<a href='" + page + page_Down + "' style=color:#3300FF>下一页</a>";
				end = "<a href='" + page + pagination + "' style=color:#3300FF>尾页</a>";
			}
			else {
				first = "首页";
				up = "上一页";
				down = "下一页";
				end = "尾页";
			}
		}
		else if (current == pagination) {
			first = "<a href='" + page + "1' style=color:#3300FF>" + "首页</a>";
			up = "<a href='" + page + (current - 1) + "' style=color:#3300FF>上一页</a>";
			down = "下一页";
			end = "尾页";
		}
		else {
			first = "<a href='" + page + "1' style=color:#3300FF>" + "首页</a>";
			up = "<a href='" + page + (current - 1) + "' style=color:#3300FF>上一页</a>";
			down = "<a href='" + page + (current + 1) + "' style=color:#3300FF>下一页</a>";
			end = "<a href='" + page + pagination + "' style=color:#3300FF>尾页</a>";
		}
		String pageTools = "<td align='left' colspan='2' style='font-weight:bold; padding:2px 5px;'>" + "共<span style=color:#3300FF>" + record_Sum + "</span>条 &nbsp;共<span style=color:#3300FF>" + pagination + "</span>页" + "&nbsp;第<span style=color:#FF0000>" + current + "</span>页" + "</td>" + "<td align='right' colspan='3' style='padding:2px 5px;font-weight: bold;'>" + first + "&nbsp; &nbsp;" + up + " &nbsp;" + down + "&nbsp; " + end + "</td>";
		return pageTools;
	}
	
	
	public static void main(String[] args) throws SaasApplicationException {

		System.out.println(new PageTools().getGoogleToolsBar(137, "page", 4, 5));
	}
	
	
	
	/**
	 * 生成google工具条
	 * 
	 * @默认只出现10个分页符
	 */
	public String getGoogleToolsBar(int recordSum, String linkPage, int current, int size) throws SaasApplicationException {

		/**
		 * 分页工具条
		 */
		String toolsBar = "";
		/**
		 * 总页数
		 */
		int pageSize = 0;
		if (recordSum % size == 0) {
			pageSize = recordSum / size;
		}
		else {
			pageSize = recordSum / size + 1;
		}
		// 计算分页
		if (current > pageSize) {
			current = pageSize;
		}
		if (current == 1) {
			
			if (pageSize > 1) {
				for (int i = 1; i < 10 && i <= pageSize; i++) {
					if (i == current) {
						page p = new page();
						p.setNum(i + "");
						p.setLink("<a href=" + linkPage + i + " style='font-weight:bold;color:#FF3300'>");
						toolsBar = toolsBar + p.toString() + "&nbsp;";
					}
					else {
						page p = new page();
						p.setNum(i + "");
						p.setLink("<a href=" + linkPage + i + ">");
						toolsBar = toolsBar + p.toString() + "&nbsp;";
					}
				}
			}
		}
		else if (current == pageSize) {
			
			for (int i = pageSize; i > 0; i--) {
				if (i == current) {
					page p = new page();
					p.setNum(i + "");
					p.setLink("<a href=" + linkPage + i + " style='font-weight:bold;color:#FF3300'>");
					toolsBar = p.toString() + "&nbsp;" + toolsBar;
				}
				else {
					page p = new page();
					p.setNum(i + "");
					p.setLink("<a href=" + linkPage + i + ">");
					toolsBar = p.toString() + "&nbsp;" + toolsBar;
				}
			}
		}
		else {
			return pagination(recordSum, size, current, linkPage);
		}
		toolsBar = "共" + recordSum + "条 &nbsp;" + pageSize + "页&nbsp;&nbsp;" + toolsBar;
		return toolsBar;
	}
	
	
	
	/**
	 * @param total
	 * @param per
	 * @param page
	 * @param query_string
	 * @return
	 */
	public String pagination(int total, int per, int page, String query_string) {

		int allpage = 0;
		int next = 0;
		int pre = 0;
		int startcount = 0;
		int endcount = 0;
		String pagestr = "";
		
		if (page < 1) {
			page = 1;
		}
		// 计算总页数
		if (per != 0) {
			allpage = (total / per);
			allpage = ((total % per) != 0 ? allpage + 1 : allpage);
			allpage = (allpage == 0 ? 1 : allpage);
		}
		next = page + 1;
		pre = page - 1;
		startcount = (page + 5) > allpage ? allpage - 9 : page - 4;// 中间页起始序号
		// 中间页终止序号
		endcount = page < 5 ? 10 : page + 5;
		if (startcount < 1) {
			startcount = 1;
		} // 为了避免输出的时候产生负数,设置如果小于1就从序号1开始
		if (allpage < endcount) {
			endcount = allpage;
		}// 页码+5的可能性就会产生最终输出序号大于总页码,那么就要将其控制在页码数之内
		pagestr = "共" + allpage + "页&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
		
		pagestr += page > 1 ? "<a href=\"" + query_string + "1\">首页</a>&nbsp;&nbsp;<a href=\"" + query_string + "" + pre + "\">上一页</a>" : "首页 上一页";
		// 中间页处理
		for (int i = startcount; i <= endcount; i++) {
			pagestr += page == i ? "&nbsp;&nbsp;<font color=\"#ff0000\">[" + i + "]</font>" : "&nbsp;&nbsp;<a href=\"" + query_string + i + "\">[" + i + "]</a>";
		}
		pagestr += page != allpage ? "&nbsp;&nbsp;<a href=\"" + query_string + next + "\">下一页</a>&nbsp;&nbsp;<a href=\"" + query_string + allpage + "\">末页</a>" : " 下一页 末页";
		
		return pagestr;
		
	}
	
	
	
	
	/**
	 * @author:LiuYang
	 * @desc: 页码对象
	 * @2008-7-4
	 */
	class page {
		
		
		public page() {

			this.head = "[";
			this.bottom = "]";
		}
		
		
		
		private String head;
		
		
		private String bottom;
		
		
		private String num;
		
		
		private String link;
		
		
		
		public String getNum() {

			return num;
		}
		
		
		public void setNum(String num) {

			this.num = num;
		}
		
		
		public String toString() {

			return link + head + num + bottom + "</a>";
		}
		
		
		public String getHead() {

			return head;
		}
		
		
		public void setHead(String head) {

			this.head = head;
		}
		
		
		public String getBottom() {

			return bottom;
		}
		
		
		public void setBottom(String bottom) {

			this.bottom = bottom;
		}
		
		
		public String getLink() {

			return link;
		}
		
		
		public void setLink(String link) {

			this.link = link;
		}
	}
}

⌨️ 快捷键说明

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