TagSupport类的生命周期
它的生命周期各个阶段的具体执行过程如下:
(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类的生命周期
它的生命周期各个阶段的具体执行过程如下:
(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内容。
分享到:
相关推荐
JSP自定义分页标签 extends TagSupport 多种分页风格无需额外资源,使用简单易懂:WebRoot/WEB-INF/tms-tags.tld 文件路径
本人自行研究JSP自定义标签的学习笔记 目录如下: 目录 一、概述 1 1.1 使用简单标签机制 2 1.2 使用标签文件 3 二 、自定义标签简介 3 2.1 自定义标签概念 3 2.2 标签相关概念 3 2.3 如何创建自定义标签 3 三、自...
由浅到深详细讲解JSP自定义标签 一、基本概念 1、标签(Tag) 标签是一种XML元素,通过标签...标签处理类是一个Java类,这个类继承了TagSupport或者扩展了SimpleTag接口,通过这个类可以实现自定义JSP标签的具体功能。
这里在实现自定义标签时,继承的2个类分别是org.apache.struts2.views.jsp.ComponentTagSupport和org.apache.struts2.components.Component,ComponentTagSupport实际上是对BodyTagSupport的一次封装,看一下...
jsp和java联合实现了自定义标签的功能,主要技术继承了TagSupport类和编写对应bodytag.tld配置文件 实现了分页功能 当前功能点所在位置 循环遍历数据
首先是要有一个标签处理类,标签处理类可以直接实现Tag接口,也可以继承Java中已经实现了的TagSupport这个类,TagSupport也是继承自Tag接口的,它内部已经对Tag接口进行了实现,一般是继承TagSupport类,之后是重写...
利用TagSupport创建自定义标签实现网页左侧菜单
自定义标签主要包括三个步骤: 1、编写java类,继承TagSupport类; 2、创建tld文件,影射标签名和标签的java类; 3、jsp页面引入tld。 博文地址:http://blog.csdn.net/itmyhome1990/article/details/50718282
import javax.servlet.jsp.tagext.TagSupport; public class PageTag extends TagSupport { private String name="page"; private String action; private int measurement; public void setName(String ...
自定义标签实现分页,分页信息都封装在一个继承自TagSupport的java文件中,自定义一个tld文件,jsp页面通过taglib指令引入tld文件,使用自定义标签。
TagSupport SimpleTagSupport tagext javax servlet jsp Tag 标签
一个tag就是一个普通的java类,它唯一特别之处是它必须继承TagSupport或者BodyTagSupport类。这两个类提供了一些方法,负责jsp页面和你编写的类之间的交互,例如输入,输出。而这两个类是由jsp容器提供的,无须开发...
自定义标签类都必须继承一个父类:javax.servlet.jsp.tagext.SimpleTagSupport,或者TagSupport除此之外,JSP自定义标签类还有如下要求。 如果标签类包含属性,每个属性都有对应的getter和setter方法。 重写doTag()...
// 是TagSupport类中定义的一个属性,它是javax.servlet.jsp.PageContext的对象 request = (HttpServletRequest) pageContext.getRequest(); JspWriter out = pageContext.getOut(); StringBuffer sbOut ...
import javax.servlet.jsp.tagext.TagSupport; 所导致的无包报错解决jar包 注意导入jar包时应注意Servlet的版本,如果是Servlet 2.4 对应的应该是JSP 2.0 的jar包,如果是Servlet 2.5对应的则是JSP 2.1的jar包
java web技术搭建继承实现tagsupport类,实现jsp页面与servlet服务器端的数据交互,达到数据库页页面的分页的操作。
怎样自己定制标签(Custom Tag) (整理的学习笔记) 步骤1、创建一个Tag handler class(标记处理器类) package javax.servlet.jsp.tagext 开发空Body的标签处理器类—–>1)implements Tag 2)extends TagSupport 空Body...
TagSupport 類別 BodyTagSupport 類別 自訂標籤屬性 自訂動態標籤屬性 SimpleTagSupport 類別(<jsp:attribute>) Scripting Variable Tag File Tag File是從JSP 2.0開始新增的功能,主要的目的是讓撰寫JSP...
9.4、Servlet生命周期 9.5、取得初始化配置信息 9.6、取得其他内置对象 9.6.1、取得HttpSession实例 9.6.2、取得ServletContext实例 9.7、Servlet跳转 9.7.1、客户端跳转 9.7.2、服务器端跳转 9.8、...
9.4、Servlet生命周期 9.5、取得初始化配置信息 9.6、取得其他内置对象 9.6.1、取得HttpSession实例 9.6.2、取得ServletContext实例 9.7、Servlet跳转 9.7.1、客户端跳转 9.7.2、服务器端跳转 9.8、WEB开发...