JSP自定义标签方式二(TagSupport)

1.实现类

创建自己的类并继承javax.servlet.jsp.tagext.TagSupport
JSP自定义标签方式二(TagSupport)

2.流程介绍

TagSupport的流程主要分为三个方法
doStartTag()----标签开始的处理方法
doAfterBody()----标签体处理后的方法
doEndTag()----标签结束时的处理方法
其中:
①doStartTag()可以返回 SKIP_BODYEVAL_BODY_INCLUDE
当返回SKIP_BODY时,不执行标签体中的代码直接跳转到doEndTag()方法。
当返回EVAL_BODY_INCLUDE时,执行标签体中的代码,执行后跳转到doAfterBody()方法。

②doAfterBody()可以返回EVAL_BODY_AGAINSKIP_BODY
当返回EVAL_BODY_AGAIN时会再执行一次标签体中的代码
当返回SKIP_BODY时结束标签体代码执行跳转到doEndTag()方法

③doEndTag()可以返回SKIP_PAGEEVAL_PAGE
当返回SKIP_PAGE时将不执行页面中该标签以下部分的代码
当返回EVAL_PAGE时将继续执行页面中其他部分的代码

对应的值为:
SKIP_BODY:0
EVAL_BODY_INCLUDE:1
EVAL_BODY_AGAIN:2
SKIP_PAGE:5
EVAL_PAGE:6

3.对不同域中的操作

TagSupport类自带了pageContext属性
通过pageContext可以访问不同的域
JSP自定义标签方式二(TagSupport)

标签的 注册 以及 传参SimpleTag中有详细说明,在此不再介绍