Tagsupport类生命周期
TagSupport类中定义的常量及方法:
No 常量及方法 类型 描述
1 protected PageContext pageContext 属性 表示pageContext对象,可以操作4种属性范围
2 public static final int SKIP_BODY 常量 忽略标签体内容,将操作转交给doEndTag()
3 public static final int EVAL_BODY_INCLUDE 常量 正常执行标签体操作,但不处理任何运算
4 public static final int SKIP_PAGE 常量 所在在JSP上的操作走将停止,会将所有输出的内容立刻显示在浏览器上
5 public static final int EVAL_PAGE 常量 正常执行JSP页面
6 public static final int EVAL_BODY_AGAIN 常量 重复执行标签体内容,会再次调用doAfterBody(),直到出现SKIP_BODY为止
7 public int doStartTag() throws JspException 方法 处理标签开始部分
8 public int doEndTag() throws JspException 方法 处理标签结束部分
9 public int doAfterBody() throws JspException 方法 处理标签主体部分
10 public viod release() 方法 释放标签资源
doStartTag():此方法忽略标签开始时执行,返回值如下:
SKIP_BODY:表示忽略标签体的内容,而将执行权转交给doEndTag()方法;
EVAL_BODY_INCLUDE:表示执行标签体的内容;
doAfterBody():此方法是IterationTag接口于Tag接口的区别所在,用来重复执行标签体的内容,返回治如下:
SKIP_BODY:表示标签体内容会被忽略,并且将执行权交给doEndTag()方法;
EVAL_BODY_AGAIN:表示重复执行标签体的内容,会重复调用doAfterBody()方法,一直循环下去,直到doAfterBody()方法返回SKIP_BODY为止;
doEndTag():此方法在标签结束时执行,返回值如下:
SKIP_PAGE:表示jsp页面立刻停止执行,并将所有的输出立刻回传到浏览器上;
EVAL_PAGE:表示JSP可以正常地运行完毕;
release():将标签处理类所产生或是获得的资源全部释放,并等待用户下次继续使用