JSP自定义标签方式二(TagSupport)
1.实现类
创建自己的类并继承javax.servlet.jsp.tagext.TagSupport
2.流程介绍
TagSupport的流程主要分为三个方法
doStartTag()----标签开始的处理方法
doAfterBody()----标签体处理后的方法
doEndTag()----标签结束时的处理方法
其中:
①doStartTag()可以返回 SKIP_BODY 和 EVAL_BODY_INCLUDE
当返回SKIP_BODY时,不执行标签体中的代码直接跳转到doEndTag()方法。
当返回EVAL_BODY_INCLUDE时,执行标签体中的代码,执行后跳转到doAfterBody()方法。
②doAfterBody()可以返回EVAL_BODY_AGAIN和SKIP_BODY
当返回EVAL_BODY_AGAIN时会再执行一次标签体中的代码
当返回SKIP_BODY时结束标签体代码执行跳转到doEndTag()方法
③doEndTag()可以返回SKIP_PAGE和EVAL_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可以访问不同的域