`
forlab
  • 浏览: 133989 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JSP—传统标签TagSupport和BodyTagSupport类的生命周期和方法

 
阅读更多

一、传统标签的开发

   1、   在开发传统标签之前,需要了解两个支持类的生命周期。

         1、TagSupport

         2、BodyTagSupport

 

   2、TagSupport类的生命周期:

如果所示

 

3、TagSupport类的生命周期方法

 

 

方法名 描述 返回值说明
doStarTag() 容器在遇开始标签的时会调用这个方法 SKIP_BODY:忽视标签主体的内容,这是默认值。EVAL_BODY_INCLUDE:要求JSP容器要执行标签主体内容并将结果包括在响应中。
doAfterBody() 如果标签有主体内容,容器执行标签主体后,会调用这个方法。

SKIP_BODY:要求JSP容器忽略主体,进入标签处理程序的下一步工作,是默认值。

EVAL_BODY_AGAIN:要求JSP容器再次显示标签主体内容。

doEndTag() 容器在遇到结束标签时会调用这个方法。

EVAL_PAGE,运行自定义标签以后的JSP网页内容,这是默认值。

SKIP_PAGE:忽略自定义标签以后的JSP网页内容。

release() 容器通过这个方法来释放本标签处理对象所占用的系统资源。   没有返回值

 

 

4、BodyTagSupport类的生命周期

接下来我们用图来表示:

 

5、BodyTagSupportl类的生命周期方法。

 

方法名 方法描述 返回值说明
doStartTag() 容器在遇到开始标签时会调用这个方法

SKIP_BODY:要求JSP容器忽略主体.

EVAL_BODY_BUFFERED:JSP容器会将标签主体的处理结果建立成一个BodyContent对象。这是默认返回值。

setBodyContent() 提供BodyContent实例的一个引用,该实例为此标签处理类将主计算结果加以缓存 无返回值
doInitBody() 在第一次处理标签主体内容时,他讲对主体进行初始化的工作。 无返回值
doAfterBody() 如果标签有主体内容,容器在执行完标签主体后,会调用这个方法。

SKIP_BODY:要求JSP容器忽略主体,进入下一步的处理工作。

EVAL_BODY_AGAIN:要求JSP容器再次处理标签主体。

doEndTag() 容器在遇到结束标签是会调用这个方法。

SKIP_PAGE:忽略自定义标签以后的JSP网页内容。

EVAL_PAGE:运行自定义标签以后的JSP网页内容。

release() 容器通过这个方法来释放本标签处理对象所占用的系统资源
分享到:
评论

相关推荐

    javax.servlet.jsp.tagext源码

    这个类提供了一组方法,帮助开发者处理标签的生命周期,包括初始化、执行和清理阶段。例如: 1. `doStartTag()`: 这个方法在标签开始时被调用,通常用于设置标签的属性或初始化变量。 2. `doEndTag()`: 当标签结束...

    jsp自定义标签中的困扰

    通过深入学习JSP自定义标签的生命周期和`BodyTagSupport`类提供的方法,开发者能够更好地理解和解决问题,从而编写出高效、可靠的自定义标签。如果你在实现过程中遇到具体的错误或疑惑,可以参考`JSP自定义标签各...

    创建JSP自定义标签.doc

    在JavaServer Pages ...通过继承`TagSupport`或`BodyTagSupport`,并定义相应的属性和生命周期方法,我们可以轻松地创建自己的自定义标签库。最后,通过`.tld`文件和`<jsp:useBean>`引入到JSP页面中,即可正常使用。

    jsp自定义标签介绍与操作实例.doc

    - **编写标签处理程序**:创建Java类,继承`TagSupport`或`BodyTagSupport`,并实现相应接口的方法。处理程序类需要定义处理标签逻辑的方法。 - **编写TLD文件**:在TLD文件中声明自定义标签,定义标签的名称、...

    JSP自定义标签 例子

    这些类提供了处理标签生命周期的方法,如`doStartTag()`和`doEndTag()`。 2. **定义TLD文件**:TLD文件是XML格式的,用于描述自定义标签的行为、属性、事件等。例如,它会定义标签的名字、它所关联的Java类以及任何...

    JSP自定义标签动态属性支持

    这些基类提供了属性的生命周期管理,如初始化、设置值、获取值以及释放等方法。 例如,`AbstractMapTag.java`可能是一个抽象的基类,用于提供一个属性映射的基础框架,它可能扩展了`TagSupport`类。在这个类中,...

    JSP标签库,ppt

    1. **编写标签处理程序**: 创建一个类,通常继承自`TagSupport`或`BodyTagSupport`,并实现`doStartTag()`和`doEndTag()`方法,以定义标签的生命周期行为。 2. **创建TLD文件**: 编写XML格式的TLD文件,指定标签库...

    jsp自定义标签开发手册

    2. **处理标签属性**:在处理类中,通过`doStartTag()`和`doEndTag()`方法定义标签的生命周期,通过`getAttribute()`获取属性值。 3. **标签体的处理**:如果标签需要处理其内部的JSP内容(即标签体),可以实现`...

    JSP自定义标签开发使用

    - **Tag接口**:定义了标签的基本生命周期方法,如`setPageContext()`、`setParent()`、`doStartTag()`、`doEndTag()`和`release()`。 - **BodyTag接口**:扩展了Tag接口,用于处理包含标签体的标签,增加了`...

    jsp自定义标签介绍与操作实例参考.pdf

    在运行时,生成的servlet会为每个自定义标签创建标签处理程序的实例,并调用其生命周期方法来执行标签的功能。 自定义标签可以分为两类:简单标签和正文标签。简单标签不处理标签体,而正文标签可以操作标签体内容...

    JSP自定义标签基础知识学习

    TagSupport类为标签提供了基础的生命周期方法,如doStartTag和doEndTag,而BodyTagSupport类则扩展了TagSupport,增加了对标签体内内容的处理能力。通过覆盖这些方法,开发者可以实现自定义标签的具体功能。 其次,...

    jsp 自定义标签

    标签处理类通常实现了`javax.servlet.jsp.tagext.Tag`或其子接口,如`TagSupport`、`BodyTagSupport`等。这些接口定义了标签的生命周期方法,如`doStartTag()`、`doEndTag()`等。通过这些方法,开发者可以在特定阶段...

    java自定义标签教程

    这个接口定义了标签的生命周期方法,如`doStartTag()`和`doEndTag()`,这些方法在标签的生命周期中被容器调用来执行相应的操作。`Tag`接口还有两个子接口,`SimpleTag`和`Tag`,其中`SimpleTag`是JSP 2.0引入的,...

    java_自定义标签的使用.docx

    5. **标签处理程序的生命周期方法**: - `doStartTag()`: 标签开始时被调用,用于初始化和执行开始标签的操作。 - `doEndTag()`: 标签结束时被调用,用于执行结束标签的操作。 - `release()`: 标签处理完成后,...

    jsp-api-2.1.jar下载

    总的来说,`jsp-api-2.1.jar`作为JSP 2.1版本的核心库,包含了处理JSP页面生命周期、自定义标签、页面指令、错误处理等所有核心功能的类和接口。对于Java Web开发者而言,深入理解并熟练运用这些API,能够提升开发...

    Java自定义标签 教程

    自定义标签的实现涉及到了JSP的生命周期和容器的管理,通过自定义标签,开发者可以创建出更加清晰、可重用的代码,提高JSP应用的可维护性和可扩展性。在实际开发中,开发者可以根据需求选择实现`Tag`接口、`...

    Java自定义标签实例分析

    `Tag`接口是经典且必须实现的接口,它定义了标签生命周期中的一系列方法,如`doStartTag()`和`doEndTag()`。`SimpleTag`接口是JSP 2.0引入的,适用于更简单的标签实现,只需要实现`doTag()`方法。 2. **标签生命...

    java自定义标签教程[收集].pdf

    Tag接口是基础接口,它定义了如`doStartTag()`和`doEndTag()`等生命周期方法,适用于需要处理标签体(Body)的情况。而SimpleTag接口是JSP 2.0引入的,用于创建不处理标签体的简单标签。 `TagSupport`和`...

    JavaWEB开发-简单标签 ppt

    **标签处理器类的生命周期**大致如下: 1. **setJspContext**:设置与JSP页面相关的上下文。 2. **setParent**:如果存在父标签,则设置父处理器。 3. **setXXX**:根据标签属性设置相应值。 4. **setJspBody**:...

    jsp&js&java实用技术

    【知识点详解】 ...实现一个Tag涉及创建一个继承自TagSupport或BodyTagSupport的Java类,定义属性的setter方法,以及处理doStartTag、doEndTag等生命周期方法。TLD文件用于描述标签的属性、行为和关联的Java类。

Global site tag (gtag.js) - Google Analytics