一、实现方式:
(1)添加 tld 配置文件。
在项目的WEB-INF下添加 mytag.tld 文件,内容如下:
(2)在cn.guopeng.oa.tag包中添加类:PagerTag 主要用来接收参数并传递给PagerImpl类
(3)在cn.guopeng.oa.tag包中添加类:PagerImpl。根据传过来的参数到值栈中获得相应值,并输出分页。
(4)请求的Action类
(5)使用分页标签的jsp页面:
(6)测试请求链接:
<%=webroot %>/orgAction!list?pid=1
没有传递currentPage参数原因是在Action中默认为第一页。
(7)其他说明:
在传递的参数中params对应Action中的一个Map类型,用于传递其他的参数,比如上面链接可以写为<%=webroot %>/orgAction!list?pid=1¤tPage=1其中currentPage就是要请求的页数,pid是父类型的id。就如同只取出某一分类中的记录再分页。
二、Struts 自定义标签的执行原理 时序图(部分):