当前位置导航:炫浪网>>网络学院>>网页制作>>JSP教程

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

相关内容
赞助商链接