JSP自定义标签

Posted 0820LL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP自定义标签相关的知识,希望对你有一定的参考价值。

经典标签处理器(JSP2.0以前):实现接口Tag、IterationTag、BodyTag的标签处理器都叫做经典标签处理器。

简单标签处理器(JSP2.0引入):实现接口SimpleTag或者继承类SimpleTagSupport的标签处理器叫做简单标签处理器。

// 自定义标签的相关接口都在 javax.servlet.jsp.tagext包中
public interface Tag extends JspTag
public interface IterationTag extends Tag
public interface BodyTag extends IterationTag
public interface SimpleTag extends JspTag
public class SimpleTagSupport extends java.lang.Object implements SimpleTag  // 提供了接口Simpletag的所有方法的默认实现
public abstract class JspFragment extends java.lang.Object

简单标签的声明周期如下:

(1)JSP容器通过简单标签处理器的无参构造其创建它的实例,因此简单标签处理器必须有无参构造器。

(2)JSP容器通过setJspContext(jspContext)方法,传入JspContext对象:该对象中最重要的方法是getOut()方法,其能够返回JspWriter对象,通过JspWriter就可以把相应返回前端了。通常情况下,要把传入的JspContext赋值给类的成员变量方便以后使用。

public void setJspContext(JspContext jspContext)

(3)如果自定义标签被另一个自定义标签所嵌套,JSP容器就会调用setParent(jspTag)方法

public void setParent(JspTag parent)

(4)JSP容器调用该标签中所定义的每个属性的set方法

(5)如果需要处理页面内容,JSP容器还会调用接口SimpleTag的setJspBody(jspBody)方法,把使用JspFragment封装的页面内容传过来。如果没有页面内容则不会调用该方法。

public void setJspBody(JspFragment jspBody)

创建自定义标签的步骤

第一步:编写标签处理器

第二步:注册标签

实例

 

以上是关于JSP自定义标签的主要内容,如果未能解决你的问题,请参考以下文章

JSP自定义tag控件标签

jsp自定义标签

[Java] JSP笔记 - 自定义标签

JSP自定义标签的使用简化版

自定义标签

13.自定义标签