您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > JSP >

自定义标签入门

来源:未知 责任编辑:责任编辑 发表时间:2013-12-22 14:55 点击:

 

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()返回


摘自 耗子的程序员之路
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • JSP与Servlet
    • 自己动手写MiniBBS系列(基本篇)之用户登录
    • JSP取当前日期
    • JDBC 入门(一)
    • 打开一个jsp页面默认查询所有数据,调用action
    • 使用JSP标签库验证用户的输入(2)完
    • 自定义JSP标签(tag)浅议
    • WIN98/2000下的jsp服务器
    • JSP内建对象(二)
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1