jsp

位置:IT落伍者 >> jsp >> 浏览文章

JSP自定义标签执行顺序


发布日期:2018年01月26日
 
JSP自定义标签执行顺序

首先来看一下简单标签接口的方法以及它的生命周期

SimpleTag接口的方法

doTag()void

getParent()JspTag

setJspBody(javaxservletjsptagextJspFragment body)void

setJspContext(javaxservletjspJspContext pc)void

setParent(javaxservletjsptagextJspTag tag)void

SimpleTag接口的声明周期

每次遇到Jsp标签容器构造一个SimpleTag实例这个构造函数没有参数

setJspContext()setParent()只有当前的标签在另一个标签之内时才调用setParent()方法

设置属性调用每一个属性的setter方法

setJspBody(javaxservletjsptagextJspFragment body)

doTag()所有标签的逻辑迭代和Body计算都在这个方法中

return下面是对带体标签的介绍

带Body的自定以标签

必须实现Tag接口的doStartTag()和doEndTag()方法

可以实现IterationTag接口的doAffterBody()方法

可以实现BodyTag接口的doInitBody()和setBodyContent(javaxservletjsptagextBodyContent bc)方法

doStartTag()可以返回的值ASKIP_BODY 不处理标签体BEVAL_BODY_INCLUDE 计算的体的结果被包含在out(JspWriter)中输出CEVAL_BODY_BUFFERED 一个BodyContent对象被创建

doEndTag()方法可以返回SKIP_PAGE或者EVAL_PAGE以确定是否继续计算其余的页面

doAffterBody可以返回EVAL_BODY_AGAINSKIP_BODY以确定是否再次计算标签体

BodyTag的处理过程

setPageContext(javaxservletjspPageContext pc)void

setParent(javaxservletjsptagextTag tag)void

doStartTag()int

setBodyContext(BodyContext bc)void

doInitBody()int

doAffterBody()int

doEndTag()int

release()void

上一篇:NetBeans IDE开发JSP快速入门[1]

下一篇:使用JSP实现简易的SQL报表