开发定制标签库-2

标签扩展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。标签处理器用它来指示不可恢复的错误。 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值