本文主要是介绍TagSupport.SKIP_BODY,SKIP_PAGE,EVAL_BODY_INCLUDE,EVAL_BODY_AGAIN,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
SKIP_BODY,SKIP_PAGE,EVAL_BODY_INCLUDE,EVAL_BODY_AGAIN返回值的各个含义
SKIP_BODY 隐含0
EVAL_BODY_INCLUDE隐含1:将body的内容输出到存在的输出流中
SKIP_PAGE 隐含5
EVAL_PAGE 隐含6:继续执行下面的页
EVAL_BODY_AGAIN 反复执行所处的方法
---------------------------------------------------------------
SKIP_BODY隐含0
在doStartTag()方法中,若返回EVAL_BODY_INCLUDE就计算标签的body
传统的标签的生命周期:
当容器创建一个新的标签实例后,通过setPageContect(PageContext)来设置标签的页面上下文。
使用setParent(Tag)方法设置这个标签的上一级标签,如果没有上一级标签,设置为null
设置标签的属性,这个属性在标签库描述文件中定义,如果没有定义属性,就不调用此类方法。
调用doStartTag(),这个方法有两个返回值:
1、
2、
调用doEndTag(),这个方法也有两个返回值:
1、
2、
调用release() 方法释放程序占用的任何资源。
当容器创建一个新的标签实例后,通过setPageContect(PageContext)来设置标签的页面上下文。
使用setParent(Tag)方法设置这个标签的上一级标签,如果没有上一级标签,设置为null
设置标签的属性,这个属性在标签库描述文件中定义,如果没有定义属性,就不调用此类方法。
调用doStartTag(),这个方法有两个返回值:1、如果返回的是:EVAL_BODY_INCLUDE, 则继续计算Body。
调用 setBodyContent() 设置当前的 BodyContent
每次计算完BodyTag后调用doAfterBody():1、
调用doEndTag(),这个方法也有两个返回值:1、
调用release() 方法释放程序占用的任何资源。
SKIP_BODY隐含0 :跳过了开始和结束标签之间的代码。
EVAL_BODY_INCLUDE隐含1:将body的内容输出到存在的输出流中SKIP_PAGE隐含5 : 忽略剩下的页面。
EVAL_PAGE隐含6:继续执行下面的页
---------------------------------------------------------------
doStartTag()和doEndTag()返回值是在Tag Interface里定义的静态int
SKIP_BODY隐含0
Skip body evaluation. Valid return value for doStartTag and doAfterBody. 跳过对body的处理。
就是跳过了开始和结束标签之间的代码。
EVAL_BODY_INCLUDE 隐含1
Evaluate body into existing out stream. Valid return value for doStartTag.
This is an illegal return value for doStartTag when the class implements BodyTag,
since BodyTag implies the creation of a new BodyContent.
将body的内容输出到存在的输出流中。包括是jsp代码,也可以被输出
SKIP_PAGE 隐含5
Skip the rest of the page. Valid return value for doEndTag.
忽略剩下的页面。
EVAL_PAGE 隐含6
Continue evaluating the page. Valid return value for doEndTag().
在doStartTag()方法中,若返回EVAL_BODY_INCLUDE就计算标签的body
若返回SKIP_BODY就不计算标签的body
在doEndTag()方法中,若返回EVAL_PAGE容器在标签结束时继续计算jsp页面的其它部分,
若返回SKIP_PAGE则在标签结束时停止计算jsp页面其他的部分。
当你实现了BodyTag接口时,也就是你进行带body标签的开发时,有doAfterBody()方法。
当返回EVAL_BODY_TAG时,表示继续计算一次BodyTag,直到返回SKIP_BODY才会调用doEndTag()方法在doStartTag()方法中,若返回EVAL_BODY_INCLUDE就计算标签的body
若返回SKIP_BODY就不计算标签的body
这篇关于TagSupport.SKIP_BODY,SKIP_PAGE,EVAL_BODY_INCLUDE,EVAL_BODY_AGAIN的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!