让分页更容易 – java分页标签

我使用的分页标签奉上

高手勿喷..

请自行根据自己的实际情况修改样式及输出内容!

/**
 * 分页标签
 * 
 * @author 路茂明
 * 
 */
public class PageTag extends TagSupport {
	public final static String PAGE_INDEX = "pageIndex";
	public final static String TOTLE = "totle";

	@Override
	public int doEndTag() throws JspException {
		// 获取request对象
		HttpServletRequest request = (HttpServletRequest) pageContext
				.getRequest();
		// 获取当前页码
		int pageIndex = (Integer) request.getAttribute(PAGE_INDEX);

		// 获取数据总条数
		int totle = (Integer) request.getAttribute(TOTLE);
		// 计算总页数
		int pageCount = totle % pageSize == 0 ? totle / pageSize : totle
				/ pageSize + 1;
		StringBuffer sb = new StringBuffer();

		// 拼接
		if (pageIndex == 1) {
			sb.append("<span class='disabled'> < 上一页</span>");
		} else {
			sb.append("<a href='javascript:;' οnclick='goPage("
					+ (pageIndex - 1) + ")'> < 上一页</a>");
		}
		for (int i = 1; i <= pageCount; i++) {
			if (i == pageIndex) {
				// 当前页
				sb.append("<span class='current'>").append(i).append("</span>");
			} else {
				// 非当前页
				sb.append("<a href='javascript:;' οnclick='goPage(" + i + ")'")
						.append(">").append(i).append("</a>");
			}
		}

		if (pageIndex == pageCount) {
			sb.append("<span class='disabled'>下一页 > </span>");
		} else {
			sb.append("<a href='javascript:;' οnclick='goPage("
					+ (pageIndex + 1) + ")'>下一页 > </a>");
		}

		// 分页所需脚本
		sb.append("<input id  ='pageIndex' type='hidden' name='pageIndex' />");
		sb.append("<script>");
		sb.append("var goPage=function(index){");
		sb.append("document.getElementById('pageIndex').value=index;");
		sb.append("document.forms['page'].submit();");
		sb.append("}");
		sb.append("</script>");

		try {
			pageContext.getOut().write(sb.toString());
		} catch (IOException e) {
		}

		// 返回结果
		return EVAL_PAGE;
	}

	private Integer pageSize;

	public Integer getPageSize() {
		return pageSize;
	}

	public void setPageSize(Integer pageSize) {
		this.pageSize = pageSize;
	}

}

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">

<taglib>

	<tlib-version>1.1.2</tlib-version>

	<jsp-version>1.2</jsp-version>

	<short-name>taoist</short-name>

	<uri>/taoists</uri>

	<description>Taoist Framework JSP Tag Library. Authors: George Long </description>

	<tag>
		<name>page</name>
		<tag-class>com.ningpai.tag.PageTag</tag-class>
		<body-content>empty</body-content>
		<description>分页标签
			使用时需定义name为page的form表单,
			在表单中包含您要提交的除分页内容外的其他内容,
			分页标签需在此form中使用.
			另需在request作用域中加入pageIndex(当前页码) 及total(数据总条数)两个属性
		</description>
		<attribute>
			<name>pageSize</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
		</attribute>
	</tag>
</taglib>





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值