SKIP_BODY,SKIP_PAGE,EVAL_BODY_INCLUDE,EVAL_BODY_AGAIN

SKIP_BODY,SKIP_PAGE,EVAL_BODY_INCLUDE,EVAL_BODY_AGAIN  

2010-07-15 11:15:20|  分类: 自定义标签 |举报 |字号 订阅

SKIP_BODY,SKIP_PAGE,EVAL_BODY_INCLUDE,EVAL_BODY_AGAIN返回值的各个含义
SKIP_BODY                  隐含0:跳过了开始和结束标签之间的代码。  
EVAL_BODY_INCLUDE隐含1:将body的内容输出到存在的输出流中   
SKIP_PAGE                  隐含5忽略剩下的页面。  
EVAL_PAGE                 隐含6:继续执行下面的页  
---------------------------------------------------------------  

doStartTag()和doEndTag()返回值是在Tag  Interface里定义的静态int  
 
SKIP_BODY隐含0      

在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   

传统的标签的生命周期

当容器创建一个新的标签实例后,通过setPageContect(PageContext)来设置标签的页面上下文。
使用setParent(Tag)方法设置这个标签的上一级标签,如果没有上一级标签,设置为null
设置标签的属性,这个属性在标签库描述文件中定义,如果没有定义属性,就不调用此类方法。
调用doStartTag(),这个方法有两个返回值:               

1、如果返回的是:EVAL_BODY_INCLUDE, 则继续计算Body。                                             

2、如果返回的是:SKIP_BODY 就不计算 Body。

调用doEndTag(),这个方法也有两个返回值:                                                       

1、如果返回的是:EVAL_PAGE , 容器将在标签结束时继续计算 JSP 页面其他的部分;                   

2、如果返回的是:SKIP_PAGE ,容器将在标签结束时停止计算 JSP 页面其他的部分。

调用release() 方法释放程序占用的任何资源。


带有Body的标签的生命周期:

当容器创建一个新的标签实例后,通过setPageContect(PageContext)来设置标签的页面上下文。

使用setParent(Tag)方法设置这个标签的上一级标签,如果没有上一级标签,设置为null

设置标签的属性,这个属性在标签库描述文件中定义,如果没有定义属性,就不调用此类方法。

调用doStartTag(),这个方法有两个返回值:1、如果返回的是:EVAL_BODY_INCLUDE, 则继续计算Body。                                                                                                                2、 如果返回的是:SKIP_BODY 就不计算 Body。
       调用 setBodyContent() 设置当前的 BodyContent

调用 doInitBody() ,如果在计算 BodyContent 时需要进行一些初始化,就在这个方法中进行。
       每次计算完BodyTag后调用doAfterBody():1、

如果方法返回 EVAL_BODY_TAG, 继续计算Body, 直到返回 SKIP_BODY;                                                                                        2、如果方法返回 SKIP_BODY 则执行第 8 步;                                                                
       调用doEndTag(),这个方法也有两个返回值:1、 如果返回的是:EVAL_PAGE , 容器将在标签结束时继续计算 JSP 页面其他的部分;                                                                     2、如果返回的是:SKIP_PAGE ,容器将在标签结束时停止计算 JSP 页面其他的部分。
       调用release() 方法释放程序占用的任何资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值