用tld做分页

createPager.tld
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
	version="2.0">
	<description>Create Pager</description>
	<tlib-version>1.0</tlib-version>
	<short-name>page</short-name>
	<uri></uri>
	<tag>
		<name>createPager</name>
		<tag-class>common.createPager</tag-class>
		<body-content>JSP</body-content>
		<attribute>
			<name>curPage</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
			<type>java.lang.String</type>
		</attribute>
		<attribute>
			<name>totalPage</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
			<type>java.lang.String</type>
		</attribute>
		<attribute>
			<name>pageSize</name>
			<required>true</required>
			<rtexprvalue>true</rtexprvalue>
			<type>java.lang.String</type>
		</attribute>
	</tag>
</taglib>

createPager.jsp

<%@ taglib prefix="page" uri="/WEB-INF/createPager.tld"%>
<page:createPager pageSize="${param.pageSize}"
					totalPage="${param.totalPage}"
					curPage="${param.curPage}"
					propertyPath="${param.propertyPath}"/>

createPager.java

package common;



import java.io.IOException;



import javax.servlet.jsp.JspException;

import javax.servlet.jsp.JspWriter;

import javax.servlet.jsp.tagext.TagSupport;



/***

 * 分页控件

 * 

 * @author shilei

 * 

 */

public class createPager extends TagSupport {

	private static final long serialVersionUID = 1L;



	private String curPage;

	private String totalPage;

	private String pageSize;

	private String propertyPath;



	public void setCurPage(String curPage) {

		this.curPage = curPage;

	}



	public void setPageSize(String pageSize) {

		this.pageSize = pageSize;

	}



	public void setTotalPage(String totalPage) {

		this.totalPage = totalPage;

	}



	public String getPropertyPath() {

		return propertyPath;

	}



	public void setPropertyPath(String propertyPath) {

		this.propertyPath = propertyPath;

	}



	public int doStartTag() throws JspException {

		

		LoadProperty lp = new LoadProperty(propertyPath);

		

		JspWriter out = pageContext.getOut();

		

		if (pageSize == null || pageSize == "") {

			pageSize = "1";

		}

		int pageNumber = 0;

		if (Integer.parseInt(totalPage) % Integer.parseInt(pageSize) == 0) {

			pageNumber = Integer.parseInt(totalPage)

					/ Integer.parseInt(pageSize);

		} else {

			pageNumber = Integer.parseInt(totalPage)

					/ Integer.parseInt(pageSize) + 1;

		}

		if (Integer.parseInt(curPage) < 1) {

			curPage = "1";

		}

		try {

			if (pageNumber > 0) {

				// 先頭へ

				out.print(" <a target=\"_self\" href=\"javascript:;\" οnclick=javascript:go(1); >"+lp.getProperty("PAGES_HOME")+"</a> ");

				// 前へ

				if ((Integer.parseInt(curPage) - 1 < 1)) {

					//out.print("<a href=\"javascript:;\" style=\"font-size:12px\">前へ</a> ");

				} else {

					out.print("<a target=\"_self\" href=\"javascript:;\""

							+ "οnclick=javascript:go("

							+ (Integer.parseInt(curPage) - 1)

							+ ");>"+lp.getProperty("PAGES_PREVIOUS")+"</a>  ");

				}



				int start = (Integer.parseInt(curPage)) - 5;

				if (start <= 1) {

					start = 1;

				}

				int end = 10;

				if (Integer.parseInt(curPage) - start == 5) {

					//start = start + 1;

					end = end + start;

					if (end >= pageNumber) {

						end = pageNumber;

					}

				}

				if (end >= pageNumber) {

					end = pageNumber;

				}

				for (int i = start; i <= end; i++) {

					if (i == Integer.parseInt(curPage)) {

						out.print("<a target=\"_self\" href=\"javascript:;\" style=\"border-style: solid;border-color: #ccc;background:bottom;color:white;background-color: #ccc;border-width: 1px;border-bottom-style: none;\" οnclick=javascript:go("

								+ (i)

								+ ");>"

								+ i

								+ "</a>  ");

					} else {

						out.print("<a target=\"_self\" href=\"javascript:;\" style=\"background:bottom;\" οnclick=javascript:go("

								+ (i)

								+ ");>"

								+ i

								+ "</a>  ");

					}

				}

				// 次へ

				if (Integer.parseInt(curPage) > pageNumber - 1) {

					//out.print("<a href=\"javascript:;\" style=\"font-size:12px\">次へ</a><a href=\"#\"></a> ");

				} else {

					out.print("<a target=\"_self\" href=\"javascript:;\""

							+ "οnclick=javascript:go("

							+ (Integer.parseInt(curPage) + 1)

							+ ");>"+lp.getProperty("PAGES_NEXT")+"</a> ");

				}

				// 末尾へ

				//if (Integer.parseInt(curPage) >= pageNumber) {

					//out.print("<a href=\"javascript:;\" style=\"font-size:12px\">末尾へ</a> ");

				//} else {

					out.print("<a target=\"_self\" href=\"javascript:;\" οnclick=javascript:go("

							+ (pageNumber)

							+ "); >"+lp.getProperty("PAGES_END")+"</a> ");

				//}

				out.print("</script>");

			}



		} catch (IOException e) {

			e.printStackTrace();

		}

		return super.doStartTag();

	}

}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值