转载:CSDN http://blog.csdn.net/pzw0416/article/details/6944312
TagSupport生命周期
TagSupport类分别实现了Tag与IterationTag界面,其预设的回传值是:doStartTag()回传 SKIP_BODY、EVAL_BODY_INCLUDE
doAfterBodyTag()回传SKIP_BODY、EVAL_BODY_AGAIN
doEndTag()回传EVAL_PAGE。SKIP_PAGE
所以在继承 TagSupport之后,如果没有改写任何的方法,则在标签处理上执行的顺序是:
doStartTag() -> 不显示本体文字 -> doEndTag() -> 执行接下来的JSP网页
如果您改写了doStartTag(),则您必须指定回传值,如果指定了EVAL_BODY_INCLUDE,则预设会照以下的顺序执行:
doStartTag() -> 显示本体文字 -> doAfterBodyTag()->doEndTag()->执行接下来的JSP网页
简单的说,如果您继承了TagSupport并改写了其中的一些方法,则您必须指定方法合法的回传值,如果不改写,则会有其预设的回传值,
如果您在处理标签时,引用了一些资源,例如档案I/O或是资料库连结,则您可以改写release()方法,这个方法会在doEndTag()之后执行,您可以在处理完标签之后用它来释放先前所使用到的资源。
TagSupport类
TagSupport类实现了Tag接口,为我们提供了4个重要的方法。
TagSupport类中的常用方法
方 法 名 称
|
描 述
|
int doStartTag()
|
遇到自定义标签开始时调用该方法,
其可选返回值如下。
SKIP_BODY:表示不用处理标签体,
直接调用doEndTag()方法
EVAL_BODY_INCLUDE:正常执行
标签体,但不对标签体做任何处理
|
int doAfterBody()
|
重复执行标签体内容的方法,
其可选返回值如下。
SKIP_BODY:表示不用处理标
签体,直接调用doEndTag()方法
EVAL_BODY_AGAIN:重复
执行标签体内容
|
方 法 名 称
|
描 述
|
int doEndTag()
|
遇到自定义标签结束时调用该方法,
其可选返回值如下。
SKIP_PAGE:忽略标签后面的JSP
内容,中止JSP页面执行
EVAL_PAGE:处理标签后,继
续处理JSP后面的内容
|
void release()
|
释放获得的所有资源
|
分享到:
相关推荐
JSP自定义分页标签 extends TagSupport 多种分页风格无需额外资源,使用简单易懂:WebRoot/WEB-INF/tms-tags.tld 文件路径
在JavaServer Pages (JSP) 技术中,自定义标签是扩展JSP功能的关键手段,它允许开发者创建可重用的组件,提高代码的可维护性和可读性。本实例将深入探讨如何实现一个简单的JSP自定义标签。 首先,自定义标签的实现...
本篇文章将深入讲解Java中自定义标签的使用方法,包括基本概念、创建过程以及实际应用。 首先,我们需要理解自定义标签与标准JSP标签的区别。标准JSP标签如`<jsp:include>`、`<c:if>`等是Java EE提供的一组预定义...
2. 编写标签处理类(Tag Class):这个类负责处理标签的逻辑,它继承自`org.apache.struts2.views.jsp.ui.TagSupport`或其子类,并重写相关方法。 3. 编写标签支持类(Tag Extra Info Class, TEI):非必需,但可以...
创建自定义标签需要编写处理类,继承自`javax.servlet.jsp.tagext.TagSupport`或`javax.servlet.jsp.tagext.SimpleTagSupport`,然后在TLD文件中定义标签属性、行为等信息。 三、自结束标签(不带标签体,TagSupport...
在这个类中,我们将定义标签的行为,包括初始化、执行和清理方法。 2. 注解和属性:定义标签所需的属性,并使用 `@attribute` 注解来声明它们,如必需、可选、默认值等。这些属性可以在 JSP 页面中使用,传递给标签...
自定义标签的定义通常包含在TLD(Tag Library Descriptor)文件中,这是一个XML文件,用于描述标签的行为、属性和事件处理方法。 创建自定义标签的步骤包括: 1. **定义TLD文件**:TLD文件描述了自定义标签的属性...
3. **属性处理**: 在自定义标签类中,我们通常会定义一些属性变量,例如`private String title;`和`private String link;`,并提供对应的getter和setter方法。在`doStartTag()`方法中,通过`pageContext....
JSP(JavaServer Pages)自定义标签是JSP技术中一个重要的特性,允许开发者创建可重用的、自定义的组件,从而提高代码的可读性和可维护性。本文将深入讲解JSP自定义标签的相关概念、格式、处理过程以及创建和使用...
在Java Web开发中,自定义标签(Custom Tags)是一个强大的工具,它允许开发者创建可重用的组件,提高代码的可读性和维护性。自定义标签是JSP标准标签库(JSTL)的一种扩展,它能将复杂的业务逻辑封装起来,使JSP...
标签处理程序类通常需要实现或扩展`javax.servlet.jsp.tagext.TagSupport`、`javax.servlet.jsp.tagext.SimpleTagSupport`或`javax.servlet.jsp.tagext.Tag`等接口,这些接口提供了处理标签生命周期的方法,比如`...
实现自定义标签的第一步是创建一个Java类,该类需要继承自TagSupport类,并重写doStartTag()或doEndTag()方法。在doStartTag()方法中,我们通常放置初始化代码和输出内容到页面的代码。而doEndTag()方法则用于在标签...
总结起来,这个“一个用于分页的自定义标签”项目提供了在Java Web环境中高效、可重用的分页解决方案。通过自定义标签,开发者可以将复杂的分页逻辑封装起来,使JSP页面更加简洁,同时提高代码的可维护性和复用性。
首先,`UserListTag.java` 是自定义标签的核心类,它继承了`javax.servlet.jsp.tagext.TagSupport` 或 `javax.servlet.jsp.tagext.SimpleTagSupport` 类,实现了自定义标签的功能。在这个类中,你需要定义处理标签...
在这里,你可以处理标签的属性,并在doStartTag()和doEndTag()方法中进行业务操作。 3. **配置Struts2**:在Struts2的配置文件struts.xml中,你需要声明你的自定义标签库,这样框架才能识别并使用它们。 4. **在...
在JavaServer Pages (JSP) 技术中,自定义标签是实现页面逻辑和视图分离的一种重要方式,它允许开发者创建可重用的组件,提高代码的可维护性和复用性。本教程将深入探讨JSP自定义标签的实例与详细讲解。 一、JSP...
在Java中,自定义标签是通过实现特定的接口或继承已有的支持类来完成的。 首先,Java自定义标签是一个Java类,它可以实现`javax.servlet.jsp.tagext.Tag`接口或者其子接口。这个接口定义了标签的生命周期方法,如`...
定义标签接口:在Struts2中,我们通常使用`com.opensymphony.xwork2.util.base.TagSupport`作为自定义标签的基础类,它继承了JSP的`javax.servlet.jsp.tagext.TagSupport`,提供了访问上下文对象、标签属性等方法。...
在JavaServer Pages ...通过继承`TagSupport`或`BodyTagSupport`,并定义相应的属性和生命周期方法,我们可以轻松地创建自己的自定义标签库。最后,通过`.tld`文件和`<jsp:useBean>`引入到JSP页面中,即可正常使用。