1.在web.config中添加
<jsp-config>
<taglib>
<taglib-uri>/tld/page</taglib-uri>
<taglib-location>/WEB-INF/tlds/page.tld</taglib-location>
</taglib>
</jsp-config>
2.在WEB-INF下建立文件夹tlds,在文件夹下建立page.tld文件
<?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.0</tlib-version><!-- 标签库的版本 -->
<jsp-version>1.2</jsp-version><!-- 这个标签库要求的JSP规范版本 -->
<short-name>mytag</short-name><!-- JSP页面编写工具可以用来创建助记名的可选名字 -->
<tag>
<name>page</name><!-- 唯一标签名 -->
<tag-class>com.crm.other.PageTag</tag-class>
<body-content>empty</body-content><!-- 正文内容类型 -->
<!-- 参数 -->
<attribute>
<name>url</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>strParam</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>totalRecoders</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>pageNo</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>totalPages</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>pre</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>next</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
3.在包com.crm.other中建立一个类PageTag
package com.crm.other;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
public class PageTag extends TagSupport {
private String url;
private String strParam;
private String totalRecoders;
private String pageNo;
private String totalPages;
private String pre;
private String next;
public void setUrl(String url) {
this.url = url;
}
public void setNext(String next) {
this.next = next;
}
public void setPre(String pre) {
this.pre = pre;
}
public void setTotalPages(String totalPages) {
this.totalPages = totalPages;
}
public void setPageNo(String pageNo) {
this.pageNo = pageNo;
}
public void setStrParam(String strParam) {
this.strParam = strParam;
}
public void setTotalRecoders(String totalRecoders) {
this.totalRecoders = totalRecoders;
}
@Override
public int doStartTag() throws JspException {
StringBuilder sb = new StringBuilder();
sb.append("<script type='text/javascript'>");
sb.append("function doPage(pageNo){");
sb.append("var frm=document.getElementByIdx_x('pageForm');");
sb.append("frm.pageNo.value=pageNo;");
sb.append("frm.submit();");
sb.append("}");
sb.append("</script>");
sb.append("<form action='");
sb.append(url);
sb.append("' id='pageForm' >");
sb.append(" <div class='pager'>");
sb.append(strParam);
sb.append("共");
sb.append(totalRecoders);
sb.append("条记录 ");
sb.append("第");
sb.append(pageNo);
sb.append("页/共");
sb.append(totalPages);
sb.append("页 ");
sb.append("<a href='javascript:doPage(1)'>第一页</a> ");
sb.append("<a href='javascript:doPage(");
sb.append(pre);
sb.append(")'>上一页</a> ");
sb.append("<a href='javascript:doPage(");
sb.append(next);
sb.append(")'>下一页</a> ");
sb.append("<a href='javascript:doPage(");
sb.append(totalPages);
sb.append(")'>最后一页</a> ");
sb.append("转到<input type='text' name='pageNo' style='width:30px' value='' />页 ");
sb.append("<input type='submit' value='GO' style='width:28px;' />");
sb.append("</div>");
sb.append("</form>");
try {
if (sb != null) {
JspWriter out = pageContext.getOut();
out.print(sb);
}
} catch (Exception e) {
throw new JspException("错误");
}
return EVAL_PAGE;
}
}
4.在页面上显示内容
添加标签<%@ taglib uri="/tld/page" prefix="myTag" %>
<myTag:page url="/crm/sal/salChance.do" strParam="${strParam}" totalRecoders="${page.totalRecords}" pageNo="${page.pageNo}" totalPages="${page.totalPages}" pre="${page.pre}" next="${page.next}"/>
其中在struts中查到的分页是要自己来写的,自己写出查到的内容,然后套进这些el表达式里面