Struts2 中实现自定义分页标签 Struts2 中实现自定义标签很简单,主要分为3 步: 1.创建taglib 文件(.tld),编写标签声明。 2.编写自定义标签类。 3.在页面中使用标签。 下面以一个自定义的分页标签为例,进行说明。 其实,开发自定义标签并不需要Struts2 的支持,一般情况下,只需要继承javax.servlet.jsp.tagext.BodyTagSupport 类,重写doStartTag,doEndTag 等方法即可。这里在实现自定义标签时,继承的 2 个类分别是 org.apache.struts2.views.jsp.ComponentTagSupport 和org.apache.struts2.components.Component,ComponentTagSupport 实际上是对 BodyTagSupport的一次封装,看一下 ComponentTagSupport 类的继承关系就明了了: Java 代码 1. java.lang.Object 2. extended by javax.servlet.jsp.tagext.TagSupport 3. extended by javax.servlet.jsp.tagext.BodyTagSupport 4. extended by org.apache.struts2.views.jsp.StrutsBodyTagSupport 5. extended by org.apache.struts2.views.jsp.ComponentTagSupport 继承 ComponentTagSupport 类是为了获得标签中的属性值,并包装成 Component 对象。继承Component 类是为了从 Struts2 中的 ValueStack 中获得相对应的值。 1.声明自定义标签。 首先,需要创建一个 tld 文件,这是一个标准的 XML 文件,这个文件中就包含有对自定义标签的声明,声明指出了标签的名字,实现标签的类,标签的属性等信息。当在页面中使用该标签时,web 服务器就会从这个文件中找出相对应的标签类,并实例化后执行。这个文件其实与 struts.xml 文件的作用相类似。 tangs.tld Xml 代码 1. 2. 1. 2.
3. 2.2.3 4. 1.2 5. tangs 6. /tangs 7. "Tangs Tags" 8. 9. 10. pages 11. com.tangs.tag.PageTag //标签类 12. empty 13. //标签中的属性 14. cpage //属性名 15.