日期:2014-05-16  浏览次数:20346 次

JSP—传统标签TagSupport和BodyTagSupport类的生命周期和方法

一、传统标签的开发

???1、?? 在开发传统标签之前,需要了解两个支持类的生命周期。

???????? 1、TagSupport

???????? 2、BodyTagSupport

?

?? 2、TagSupport类的生命周期:

如果所示

?

3、TagSupport类的生命周期方法

?

?

方法名 描述 返回值说明
doStarTag() 容器在遇开始标签的时会调用这个方法 SKIP_BODY:忽视标签主体的内容,这是默认值。EVAL_BODY_INCLUDE:要求JSP容器要执行标签主体内容并将结果包括在响应中。
doAfterBody() 如果标签有主体内容,容器执行标签主体后,会调用这个方法。

SKIP_BODY:要求JSP容器忽略主体,进入标签处理程序的下一步工作,是默认值。

EVAL_BODY_AGAIN:要求JSP容器再次显示标签主体内容。

doEndTag() 容器在遇到结束标签时会调用这个方法。

EVAL_PAGE,运行自定义标签以后的JSP网页内容,这是默认值。

SKIP_PAGE:忽略自定义标签以后的JSP网页内容。

release() 容器通过这个方法来释放本标签处理对象所占用的系统资源。 ? 没有返回值

?

?

4、BodyTagSupport类的生命周期

接下来我们用图来表示:

?

5、BodyTagSupportl类的生命周期方法。

?

方法名 方法描述 返回值说明
doStartTag() 容器在遇到开始标签时会调用这个方法

SKIP_BODY:要求JSP容器忽略主体.

EVAL_BODY_BUFFERED:JSP容器会将标签主体的处理结果建立成一个BodyContent对象。这是默认返回值。

setBodyContent() 提供BodyContent实例的一个引用,该实例为此标签处理类将主计算结果加以缓存 无返回值
doInitBody() 在第一次处理标签主体内容时,他讲对主体进行初始化的工作。 无返回值
doAfterBody() 如果标签有主体内容,容器在执行完标签主体后,会调用这个方法。

SKIP_BODY:要求JSP容器忽略主体,进入下一步的处理工作。

EVAL_BODY_AGAIN:要求JSP容器再次处理标签主体。

doEndTag() 容器在遇到结束标签是会调用这个方法。

SKIP_PAGE:忽略自定义标签以后的JSP网页内容。

EVAL_PAGE:运行自定义标签以后的JSP网页内容。

release() 容器通过这个方法来释放本标签处理对象所占用的系统资源