用tld做分页

来源:互联网 发布:cs软件是什么 编辑:程序博客网 时间:2024/06/09 12:48
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:;\" onclick=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:;\""+ "onclick=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;\" onclick=javascript:go("+ (i)+ ");>"+ i+ "</a>  ");} else {out.print("<a target=\"_self\" href=\"javascript:;\" style=\"background:bottom;\" onclick=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:;\""+ "onclick=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:;\" onclick=javascript:go("+ (pageNumber)+ "); >"+lp.getProperty("PAGES_END")+"</a> ");//}out.print("</script>");}} catch (IOException e) {e.printStackTrace();}return super.doStartTag();}}


原创粉丝点击