开发定制标签库-2

来源:互联网 发布:linux怎样怎样连接外网 编辑:程序博客网 时间:2024/06/05 16:53

标签扩展API
标签扩展API是一组接口和类。我们写servlet需要用到servlet API,为了写定制标签我们就需要标签扩展API(Tag Extension API)。
这个API只有一个包javax.servlet.jsp.tagext。其中有4个接口和13个类。主要的接口和类见下表:

 

接口 描述 Tag 

所有的标签处理器都直接或间接的继承该接口。是该包的基接口。
共声明了6个方法,最重要的两个是doStartTag()和doEndTag()。
这个接口被用于简单标签的实现。这种简单标签没有重复执行部分,不需要处理标签体。 

IterationTag 继承了Tag接口,增加一个方法doAfterBody()。支持某部分的重复执行。 BodyTag 继承IterationTag接口,增加两个方法doInitBody()和setBodyContent()。
支持对标签体的缓冲。 

 

类 描述 TagSupport 实现了IterationTag接口,并对所有方法提供缺省实现。 BodyTagSupport 实现了BodyTag接口,并对所有方法提供缺省实现。 BodyContent 继承JspWriter类,用于临时为标签体的计算提供缓冲区。
这个对象只可以和BodyTag接口及BodyTagSupport类连用。 

   
此外标签处理器还使用另外两个在javax.servlet.jsp中定义的异常。

 

异常类 描述 JspException 来源于java.lang.Exception异常。一些重要的方法如doStartTag(), doInitBody(),
doAfterBody(), and doEndTag()都会抛出JspException异常。
不捕捉这个异常将会触发error-page。 JspTagException  扩展于JspException。标签处理器用它来指示不可恢复的错误。 

主要接口和类的继承关系如图:椭圆标识接口,矩形标识类。

原创粉丝点击