一、传统标签的开发
???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() | 容器通过这个方法来释放本标签处理对象所占用的系统资源 |