当前位置: 移动技术网 > IT编程>开发语言>Jsp > 自定义标签入门

自定义标签入门

2018年09月21日  | 移动技术网IT编程  | 我要评论

 

bodytagsupport执行顺序

载bodytagsupport类的方法:

编写标签对应的实现类时,需要重载bodytagsupport类几个方法:dostarttag(), setbodycontent(), doinitbody(), doafterbody(), doendtag();

 

他们执行顺序如下:

dostarttag()→doinitbody()→setbodycontent()→doafterbody()→doendtag()

 

 

dostarttag()方法可返回eval_body_include或skip_body,

如果返回eval_body_include则继续执行;

如果返回skip_body则接下来的doinitbody(),setbodycontent(), doafterbody()三个方法不会被执行,

而直接执行doendtag()方法。

 

setbodycontent()方法用于设置标签体内容,如果在此之前要作一些初始化工作,则在doinitbody()方法中完成。

标签体内容执行完后,会调用doafterbody()方法,此方法可返回eval_body_tag, skip_body,

eval_page或skip_page。

如果返回eval_body_tag则会再次设置标签体内容,直到返回skip_body;

如果返回eval_page则标签体执行完后会继续执行jsp页面中接下来的部分;

如果返回skip_page,则jsp页面的后续内容将不再执行。

 

标签中静态常量:

 

eval_body_include:告诉服务器正文的内容,并把这些内容送入输出流

skip_body:告诉服务器不要处理正文内容

eval_page:让服务器继续执行页面

skip_page:让服务器不要处理剩余的页面

eval_body_again:让服务器继续处理正文内容,只有doafterbody方法可以返回

eval_body_buffered:bodytag接口的字段,在dostarttag()返回

eval_body_include、skip_body一般由dostarttag()返回,而eval_papge、skip_page由doendtag()返回


摘自 耗子的程序员之路

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网