自定义JSP标签:TagSupport类的生命周期
来源:互联网 发布:软件项目管理软件 编辑:程序博客网 时间:2024/05/22 13:52
它的声明周期各个阶段的具体执行过程:
(1)、当JSP容器在解释JSP页面时,如果遇到自定义标签的开始标记,将利用“标签处理类”建立一个“标签处理对象”。在建立“标签处理对象”的过程中,JSP容器会回调setPageContext()方法,然后根据自定义标签的属性值来初始化“标签处理对象”的属性。
(2)、接着JSP容器会运行doStartTag()方法内的程序代码,然后根据此方法的返回值决定后续动作,如果返回SKIP_BODY常量,表示要求JSP容器忽略此标签主体的内容;如果返回EVAL_BODY_INCLUDE常量,表示要求JSP容器执行标签主体的内容,并将结果包括在响应中,然后再运行doAfterBody()方法。
(3)、如果doAfterBody()方法传回EVAL_BODY_AGAIN常量,表示要求JSP容器再次执行标签主体的内容;如果返回SKIP_BODY常量,JSP容器将会运行doEndTag()方法。
(4)、最后,JSP容器会运行doEndTag()方法内的程序代码,并根据此方法的返回值决定后续动作——如果返回SKIP_PAGE常量,JSP容器会忽略自定义标签以后的JSP内容;如果返回EVAL_PAGE常量,JSP容器会运行自定义标签以后的JSP内容。
总的归纳起来,TagSupport类的生命周期中需要的方法如下:
方法名
描述
返回值说明
doStartTag()
容器在遇到开始标签时会调用这个方法
SKIP_BODY:忽略标签主体的内容,这是默认值
EVAL_BODY_INCLUDE:要求JSP容器要执行标签主体内容并将结果包括在响应中
doAfterBody()
如果标签有主体内容,容器在执行完标签主体后,会调用这个方法
SKIP_BODY:要求JSP容器忽略主体,进入标签处理程序的下一步工作,是默认值
EVAL_BODY_AGAIN:要求JSP容器再次显示标签主体内容
doEndTag()
容器在遇到结束标签时会调用这个方法
EVAL_PAGE:运行自定义标签以后的JSP网页内容,这是默认值
SKIP_PAGE:忽略自定义标签以后的JSP网页内容
release()
容器通过这个方法来释放本标签处理对象所占用的系统资源
没有返回值
举例说明:
JSP页面:
- 自定义JSP标签:TagSupport类的生命周期
- 自定义JSP标签:TagSupport类的生命周期
- 自定义JSP标签(TagSupport类的生命周期)
- 自定义JSP标签(TagSupport类的生命周期)
- jsp自定义标签 TagSupport
- 自定义jsp标签: TagSupport与BodyTagSupport的区别 (转)
- 自定义jsp标签: TagSupport与BodyTagSupport的区别
- 自定义jsp标签: TagSupport与BodyTagSupport的区别
- 自定义jsp标签: TagSupport与BodyTagSupport的区别 (转)
- 自定义jsp标签: TagSupport与BodyTagSupport的区别 (转)
- 自定义jsp标签: TagSupport与BodyTagSupport的区别 (转)
- 10024---自定义jsp标签: TagSupport与BodyTagSupport的区别
- 自定义jsp标签之: TagSupport与BodyTagSupport的区别
- TagSupport类的生命周期
- TagSupport类的生命周期
- TagSupport类的生命周期
- TagSupport类的生命周期
- TagSupport类的生命周期
- Android中ListView,SQLite,BaseAdapter的结合
- C#综合揭秘——细说事务
- 使用vs2010和iis7调试asp程序
- oracle文字与格式字符串不匹配的解决
- SQL 日期转换函数
- 自定义JSP标签:TagSupport类的生命周期
- unbuntu server 安装openssh-server
- Eclipse @override报错解决
- AsyncQueryHandler 源码理解
- linux添加永久生效变量的方法
- 网页执行顺序
- CSS DIV 样式布局 III 头header 脚 footer 身 center
- Linux内核编译后地址空间的整理
- 2012-1-06