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();
}
}