JSP自定义标签执行顺序

首先来看一下简单标签接口的方法以及它的生命周期
一、SimpleTag接口的方法
1、doTag():void
2、getParent():JspTag
3、setJspBody(javax.servlet.jsp.tagext.JspFragment body):void
4、setJspContext(javax.servlet.jsp.JspContext pc):void
5、setParent(javax,servlet.jsp.tagext.JspTag tag):void
二、SimpleTag接口的声明周期
1、每次遇到Jsp标签容器构造一个SimpleTag实例,这个构造函数没有参数。
2、setJspContext()、setParent()只有当前的标签在另一个标签之内时才调用setParent()方法
3、设置属性,调用每一个属性的setter方法
4、setJspBody(javax.servlet.jsp.tagext.JspFragment body)
5、doTag()所有标签的逻辑迭代和Body计算都在这个方法中
6、return
下面是对带体标签的介绍
三、带Body的自定以标签
1、必须实现Tag接口的doStartTag()和doEndTag()方法
2、可以实现IterationTag接口的doAffterBody()方法
3、可以实现BodyTag接口的doInitBody()和setBodyContent(javax.servlet.jsp.tagext.BodyContent bc)方法
4、doStartTag()可以返回的值:
A、SKIP_BODY 不处理标签体
B、EVAL_BODY_INCLUDE 计算的体的结果被包含在out(JspWriter)中输出
C、EVAL_BODY_BUFFERED 一个BodyContent对象被创建
5、doEndTag()方法可以返回SKIP_PAGE或者EVAL_PAGE以确定是否继续计算其余的页面
6、doAffterBody可以返回EVAL_BODY_AGAIN、SKIP_BODY以确定是否再次计算标签体
四、BodyTag的处理过程
1、setPageContext(javax.servlet.jsp.PageContext pc):void
2、setParent(javax.servlet.jsp.tagext.Tag tag):void
3、doStartTag():int
4、setBodyContext(BodyContext bc):void
5、doInitBody():int
6、doAffterBody():int
7、doEndTag():int
8、release():void


文章出处:http://www.diybl.com/course/4_webprogram/jsp/jsp_js/20071118/86757.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值