自定义分页标签步骤
1.引架包
<!--javaee,处理自定义标签--> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>7.0</version> <scope>provided</scope> </dependency>
2.在WEB-INF中创建.tld.文件,加入需引用的属性
<?xml version="1.0" encoding="UTF-8" ?> <taglib> <tlib-version>1.1</tlib-version> <jsp-version>2.0</jsp-version> <short-name>fy</short-name> <uri>http://java.sun.com/jsp/fenye/fy</uri> <tag> <name>fy</name> <tag-class>com.ly.util.FeiyeUtil</tag-class> <body-content>empty</body-content>//标签之间的内容为空 <attribute> <name>url</name> <required>true</required>//必须的 <type>java.lang.String</type>//类型 <rtexprvalue>true</rtexprvalue>//支持EL表达式 </attribute> <attribute> <name>pageInfo</name> <type>com.github.pagehelper.PageInfo</type> <rtexprvalue>true</rtexprvalue> </attribute> </tag> </taglib>
3.创建工具处理类extends SimpleTagSupport
public class FenyeUtil extends SimpleTagSupport { private String url;//请求地址 private PageInfo pageInfo;//保存分页所需的数据 public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public PageInfo getPageInfo() { return pageInfo; } public void setPageInfo(PageInfo pageInfo) { this.pageInfo = pageInfo; } @Override public void doTag() throws JspException, IOException { JspWriter out=this.getJspContext().getOut(); StringBuffer stringBuffer=new StringBuffer(); stringBuffer.append("<a href='"+url+"&index=1&size="+pageInfo.getPageSize()+"'>首页</a>"); stringBuffer.append("<a href='"+url+"&index="+(pageInfo.getPrePage()==0?1:pageInfo.getPrePage())+"&size="+pageInfo.getPageSize()+"'>上一页</a>"); stringBuffer.append("<a href='"+url+"&index="+(pageInfo.getNextPage()==0?pageInfo.getPages():pageInfo.getNextPage())+"&size="+pageInfo.getPageSize()+"'>下一页</a>"); stringBuffer.append("<a href='"+url+"&index="+pageInfo.getPages()+"&size="+pageInfo.getPageSize()+"'>尾页</a>"); stringBuffer.append("共"+pageInfo.getTotal()+"条"); out.print(stringBuffer.toString()); } }
4.页面显示
<fy:fy url="/Educational/class/getclasslist?&classname=${classname}&classnum=${classnum}"
pageInfo="${pi}"></fy:fy>