## javax.servlet.jsp.tagext
Class BodyTagSupport

    java.lang.Object
      |
      +--javax.servlet.jsp.tagext.TagSupport
            |
            +--javax.servlet.jsp.tagext.BodyTagSupport

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

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
`protected BodyContent` `bodyContent`

Fields inherited from class javax.servlet.jsp.tagext.TagSupport
`id, pageContext`

Fields inherited from interface javax.servlet.jsp.tagext.BodyTag
`EVAL_BODY_BUFFERED, EVAL_BODY_TAG`

Fields inherited from interface javax.servlet.jsp.tagext.IterationTag
`EVAL_BODY_AGAIN`

Fields inherited from interface javax.servlet.jsp.tagext.Tag
`EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

Constructor Summary
`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
`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 javax.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 javax.servlet.jsp.tagext.Tag
`getParent, setPageContext, setParent`

Field Detail

### bodyContent

    protected BodyContent bodyContent

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;
    `JspException`
  See Also:
    `BodyTag`

### 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
    `JspException`

### 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

### 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`

### 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`

### 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.

Copyright © 1999-2002 The Apache Software Foundation. All Rights Reserved.