BodyTagSupport (JSP 3.0 API Documentation - Apache Tomcat 10.0.27)

Package jakarta.servlet.jsp.tagext

## Class BodyTagSupport

- java.lang.Object
- - jakarta.servlet.jsp.tagext.TagSupport
  - - jakarta.servlet.jsp.tagext.BodyTagSupport

- All Implemented Interfaces:
    `BodyTag`, `IterationTag`, `JspTag`, `Tag`, `java.io.Serializable`

      public class BodyTagSupport
      extends TagSupport
      implements BodyTag

  A base class for defining tag handlers implementing BodyTag.

  The BodyTagSupport class implements the BodyTag interface and adds additional convenience methods including getter methods for the bodyContent property and methods to get at the previous out JspWriter.

  Many tag handlers will extend BodyTagSupport and only redefine a few methods.

  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected BodyContent` | `bodyContent` | The current BodyContent for this BodyTag.

    - ### Fields inherited from class jakarta.servlet.jsp.tagext.TagSupport

      `id, pageContext`

    - ### Fields inherited from interface jakarta.servlet.jsp.tagext.BodyTag

      `EVAL_BODY_BUFFERED, EVAL_BODY_TAG`

    - ### Fields inherited from interface jakarta.servlet.jsp.tagext.IterationTag

      `EVAL_BODY_AGAIN`

    - ### Fields inherited from interface jakarta.servlet.jsp.tagext.Tag

      `EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `BodyTagSupport()` | Default constructor, all subclasses are required to only define a public constructor with the same signature, and to call the superclass constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `doAfterBody()` | After the body evaluation: do not reevaluate and continue with the page.
    `int` | `doEndTag()` | Default processing of the end tag returning EVAL_PAGE.
    `void` | `doInitBody()` | Prepare for evaluation of the body just before the first body evaluation: no action.
    `int` | `doStartTag()` | Default processing of the start tag returning EVAL_BODY_BUFFERED.
    `BodyContent` | `getBodyContent()` | Get current bodyContent.
    `JspWriter` | `getPreviousOut()` | Get surrounding out JspWriter.
    `void` | `release()` | Release state.
    `void` | `setBodyContent​(BodyContent b)` | Prepare for evaluation of the body: stash the bodyContent away.

    - ### Methods inherited from class jakarta.servlet.jsp.tagext.TagSupport

      `findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface jakarta.servlet.jsp.tagext.Tag

      `getParent, setPageContext, setParent`

- - ### Field Detail

    - #### bodyContent

          protected transient BodyContent bodyContent

      The current BodyContent for this BodyTag.

  - ### Constructor Detail

    - #### BodyTagSupport

          public BodyTagSupport()

      Default constructor, all subclasses are required to only define a public constructor with the same signature, and to call the superclass constructor. This constructor is called by the code generated by the JSP translator.

  - ### Method Detail

    - #### doStartTag

          public int doStartTag()
                         throws JspException

      Default processing of the start tag returning EVAL_BODY_BUFFERED.
      Specified by:
        `doStartTag` in interface `Tag`
      Overrides:
        `doStartTag` in class `TagSupport`
      Returns:
        EVAL_BODY_BUFFERED
      Throws:
        `JspException` - if an error occurred while processing this tag
      See Also:
        `Tag.doStartTag()`

    - #### doEndTag

          public int doEndTag()
                       throws JspException

      Default processing of the end tag returning EVAL_PAGE.
      Specified by:
        `doEndTag` in interface `Tag`
      Overrides:
        `doEndTag` in class `TagSupport`
      Returns:
        EVAL_PAGE
      Throws:
        `JspException` - if an error occurred while processing this tag
      See Also:
        `Tag.doEndTag()`

    - #### setBodyContent

          public void setBodyContent​(BodyContent b)

      Prepare for evaluation of the body: stash the bodyContent away.
      Specified by:
        `setBodyContent` in interface `BodyTag`
      Parameters:
        `b` - the BodyContent
      See Also:
        `doAfterBody()`, `doInitBody()`, `BodyTag.setBodyContent(jakarta.servlet.jsp.tagext.BodyContent)`

    - #### doInitBody

          public void doInitBody()
                          throws JspException

      Prepare for evaluation of the body just before the first body evaluation: no action.
      Specified by:
        `doInitBody` in interface `BodyTag`
      Throws:
        `JspException` - if an error occurred while processing this tag
      See Also:
        `setBodyContent(jakarta.servlet.jsp.tagext.BodyContent)`, `doAfterBody()`, `BodyTag.doInitBody()`

    - #### doAfterBody

          public int doAfterBody()
                          throws JspException

      After the body evaluation: do not reevaluate and continue with the page. By default nothing is done with the bodyContent data (if any).
      Specified by:
        `doAfterBody` in interface `IterationTag`
      Overrides:
        `doAfterBody` in class `TagSupport`
      Returns:
        SKIP_BODY
      Throws:
        `JspException` - if an error occurred while processing this tag
      See Also:
        `doInitBody()`, `IterationTag.doAfterBody()`

    - #### release

          public void release()

      Release state.
      Specified by:
        `release` in interface `Tag`
      Overrides:
        `release` in class `TagSupport`
      See Also:
        `Tag.release()`

    - #### getBodyContent

          public BodyContent getBodyContent()

      Get current bodyContent.
      Returns:
        the body content.

    - #### getPreviousOut

          public JspWriter getPreviousOut()

      Get surrounding out JspWriter.
      Returns:
        the enclosing JspWriter, from the bodyContent.