`

jsp tag标签 SKIP_BODY,EVAL_PAGE,EVAL_BODY_INCLUDE,EVAL_BODY_AGAIN返回值的各个含义及区别

    博客分类:
  • java
阅读更多

http://blog.csdn.net/achun2050/archive/2007/04/18/1568582.aspx

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   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

我查了一下,大部分的都说是  EVAL_BODY_BUFFERED 比 EVAL_BODY_INCLUDE 多执行了 public void setBodyContent(BodyContent arg0) 和  public void setBodyContent(BodyContent arg0) 这两个方法。还有其他的区别吗?

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics