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

📄 page.java

📁 交易撮合系统是一套买卖信息沟通的平台
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package com.laoer.bbscs.web.taglib;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import java.io.IOException;
import java.io.Writer;

import org.apache.commons.lang.StringUtils;
import org.apache.struts2.components.Component;

import com.laoer.bbscs.service.web.Pages;
import com.opensymphony.xwork2.util.ValueStack;

public class Page extends Component {
	/**
	 * Logger for this class
	 */
	private static final Log logger = LogFactory.getLog(Page.class);

	public Page(ValueStack arg0) {
		super(arg0);
	}

	protected String styleClass = "";

	protected String argPage = "page";

	protected String argTotal = "total";

	protected int pageSep = 10;

	protected String javaScript = "";

	private String value;

	public String getArgPage() {
		return argPage;
	}

	public void setArgPage(String argPage) {
		this.argPage = argPage;
	}

	public String getArgTotal() {
		return argTotal;
	}

	public void setArgTotal(String argTotal) {
		this.argTotal = argTotal;
	}

	public String getJavaScript() {
		return javaScript;
	}

	public void setJavaScript(String javaScript) {
		this.javaScript = javaScript;
	}

	public int getPageSep() {
		return pageSep;
	}

	public void setPageSep(int pageSep) {
		this.pageSep = pageSep;
	}

	public String getStyleClass() {
		return styleClass;
	}

	public void setStyleClass(String styleClass) {
		this.styleClass = styleClass;
	}

	public String getValue() {
		return value;
	}

	public void setValue(String value) {
		this.value = value;
	}

	public boolean start(Writer writer) {
		boolean result = super.start(writer);

		if (value == null) {
			value = "top";
		} else if (altSyntax()) {
			if (value.startsWith("%{") && value.endsWith("}")) {
				value = value.substring(2, value.length() - 1);
			}
		}

		Pages pages = (Pages) this.getStack().findValue(value);

		// 一行显示页数
		int pagesep = this.pageSep;
		// 总行数
		int allpagesep = (int) Math.ceil((pages.getAllPage() + pagesep - 1) / pagesep);
		// 当前行数
		int cpagesep = (int) Math.ceil((pages.getCpage() + pagesep - 1) / pagesep);
		// 当前一行显示页数
		int cnum;
		if (pages.getAllPage() > 0) {
			// 在页中
			if (cpagesep != allpagesep) {
				cnum = pagesep;
			}
			// 页末
			else {
				cnum = pages.getAllPage() % pagesep;
				// 正好整除
				if (cnum == 0) {
					cnum = pagesep;
				}
			}
		} else {
			cnum = 0;
		}
		// System.out.println("cpage:" + pages.getCpage() + " cpagesep:" +
		// cpagesep + " allpagesep:" + allpagesep);

		String fileName = pages.getFileName();

		StringBuffer sb = new StringBuffer();

		if (pages.isUseUrlRewrite()) { // 使用URL Rewrite
			if (StringUtils.isBlank(this.javaScript)) {

				sb.append("<span");

				if (StringUtils.isNotBlank(this.styleClass)) {
					sb.append(" class=\"");
					sb.append(this.styleClass);
					sb.append("\"");
				}
				sb.append(">");

				if (cpagesep > 1) {
					String tmpFileName = fileName;
					tmpFileName = this.replacePage(tmpFileName, 1);
					tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());
					sb.append("<a href=\"");
					sb.append(tmpFileName);
					sb.append("\">");
					// sb.append("|&lt;");
					sb.append("&laquo;");
					sb.append("</a>");

					tmpFileName = fileName;
					// 往前一行
					int previous;
					if (pages.getCpage() <= 1) {
						previous = 1;
					} else {
						previous = pages.getCpage() - 1;
					}
					tmpFileName = this.replacePage(tmpFileName, previous);
					tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());
					sb.append(" <a href=\"");
					sb.append(tmpFileName);
					sb.append("\">");
					// sb.append("&lt;");
					sb.append("&#8249;");
					sb.append("</a>");
				}

				for (int i = 0; i < cnum; i++) {
					String tmpFileName = fileName;

					tmpFileName = this.replacePage(tmpFileName, ((i + 1) + ((cpagesep - 1) * pagesep)));
					tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());

					sb.append(" <a href=\"");
					sb.append(tmpFileName);

					sb.append("\">");
					if (pages.getCpage() == (i + 1) + ((cpagesep - 1) * pagesep)) {
						sb.append("<strong>");
						sb.append((i + 1) + ((cpagesep - 1) * pagesep));
						sb.append("</strong>");
					} else {
						sb.append(((i + 1) + ((cpagesep - 1) * pagesep)));
					}
					sb.append("</a>");
				}

				if (cpagesep < allpagesep) {

					String tmpFileName = fileName;

					int next;
					if (pages.getCpage() >= pages.getAllPage()) {
						next = (int) pages.getAllPage();
					} else {
						next = pages.getCpage() + 1;
					}

					tmpFileName = this.replacePage(tmpFileName, next);
					tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());

					sb.append(" <a href=\"");
					sb.append(tmpFileName);
					sb.append("\">");
					sb.append("&#8250;");
					sb.append("</a> ");

					tmpFileName = fileName;
					tmpFileName = this.replacePage(tmpFileName, pages.getAllPage());
					tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());

					sb.append(" <a href=\"");
					sb.append(tmpFileName);
					sb.append("\">");
					// sb.append("&gt;|");
					sb.append("&raquo;");
					sb.append("</a>");
				}
				sb.append("</span>");

			} else {

				sb.append("<span");

				if (StringUtils.isNotBlank(this.styleClass)) {
					sb.append(" class=\"");
					sb.append(this.styleClass);
					sb.append("\"");
				}
				sb.append(">");

				if (cpagesep > 1) {
					String tmpFileName = fileName;
					tmpFileName = this.replacePage(tmpFileName, 1);
					tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());
					sb.append("<a href=\"javascript:;\" onclick=\"");
					sb.append(this.javaScript);
					sb.append("('");
					sb.append(tmpFileName);
					sb.append("');\">");
					// sb.append("\">");
					// sb.append("|&lt;");
					sb.append("&laquo;");
					sb.append("</a>");

					tmpFileName = fileName;
					// 往前一行
					int previous;
					if (pages.getCpage() <= 1) {
						previous = 1;
					} else {
						previous = pages.getCpage() - 1;
					}
					tmpFileName = this.replacePage(tmpFileName, previous);
					tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());
					// sb.append(" <a href=\"");
					// sb.append(tmpFileName);
					// sb.append("\">");
					// sb.append("&lt;");
					sb.append("<a href=\"javascript:;\" onclick=\"");
					sb.append(this.javaScript);
					sb.append("('");
					sb.append(tmpFileName);
					sb.append("');\">");

					sb.append("&#8249;");
					sb.append("</a>");
				}

				for (int i = 0; i < cnum; i++) {
					String tmpFileName = fileName;

					tmpFileName = this.replacePage(tmpFileName, ((i + 1) + ((cpagesep - 1) * pagesep)));
					tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());

					// sb.append(" <a href=\"");
					// sb.append(tmpFileName);
					// sb.append("\">");

					sb.append("<a href=\"javascript:;\" onclick=\"");
					sb.append(this.javaScript);
					sb.append("('");
					sb.append(tmpFileName);
					sb.append("');\">");

					if (pages.getCpage() == (i + 1) + ((cpagesep - 1) * pagesep)) {
						sb.append("<strong>");
						sb.append((i + 1) + ((cpagesep - 1) * pagesep));
						sb.append("</strong>");
					} else {
						sb.append(((i + 1) + ((cpagesep - 1) * pagesep)));
					}
					sb.append("</a>");
				}

				if (cpagesep < allpagesep) {

					String tmpFileName = fileName;

					int next;
					if (pages.getCpage() >= pages.getAllPage()) {
						next = (int) pages.getAllPage();
					} else {
						next = pages.getCpage() + 1;
					}

					tmpFileName = this.replacePage(tmpFileName, next);
					tmpFileName = this.replaceTotal(tmpFileName, pages.getTotalNum());

					// sb.append(" <a href=\"");
					// sb.append(tmpFileName);
					// sb.append("\">");
					sb.append("<a href=\"javascript:;\" onclick=\"");
					sb.append(this.javaScript);
					sb.append("('");
					sb.append(tmpFileName);
					sb.append("');\">");

					sb.append("&#8250;");
					sb.append("</a> ");

⌨️ 快捷键说明

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