## org.springframework.web.servlet.tags
Class EscapeBodyTag

    java.lang.Object
      javax.servlet.jsp.tagext.TagSupport
          org.springframework.web.servlet.tags.RequestContextAwareTag
              org.springframework.web.servlet.tags.HtmlEscapingAwareTag
                  org.springframework.web.servlet.tags.EscapeBodyTag

All Implemented Interfaces:
  Serializable, BodyTag, IterationTag, JspTag, Tag, TryCatchFinally

    public class EscapeBodyTag

extends HtmlEscapingAwareTag
implements BodyTag

Custom JSP tag to escape its enclosed body content, applying HTML escaping and/or JavaScript escaping.

Provides a "htmlEscape" property for explicitly specifying whether to apply HTML escaping. If not set, a page-level default (e.g. from the HtmlEscapeTag) or an application-wide default (the "defaultHtmlEscape" context-param in web.xml) is used.

Provides a "javaScriptEscape" property for specifying whether to apply JavaScript escaping. Can be combined with HTML escaping or used standalone.

Since:
  1.1.1
Author:
  Juergen Hoeller
See Also:
  `HtmlUtils`, `JavaScriptUtils`, Serialized Form

Field Summary

Fields inherited from class org.springframework.web.servlet.tags.RequestContextAwareTag
`logger, REQUEST_CONTEXT_PAGE_ATTRIBUTE`

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
`EscapeBodyTag()`

Method Summary
`int` `doAfterBody()`
`void` `doInitBody()`
`protected int` `doStartTagInternal()` Called by doStartTag to perform the actual work.
`protected String` `readBodyContent()` Read the unescaped body content from the page.
`void` `setBodyContent(BodyContent bodyContent)`
`void` `setJavaScriptEscape(String javaScriptEscape)` Set JavaScript escaping for this tag, as boolean value.
`protected void` `writeBodyContent(String content)` Write the escaped body content to the page.

Methods inherited from class org.springframework.web.servlet.tags.HtmlEscapingAwareTag
`isDefaultHtmlEscape, isHtmlEscape, setHtmlEscape`

Methods inherited from class org.springframework.web.servlet.tags.RequestContextAwareTag
`doCatch, doFinally, doStartTag, getRequestContext`

Methods inherited from class javax.servlet.jsp.tagext.TagSupport
`doEndTag, findAncestorWithClass, getId, getParent, getValue, getValues, release, 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
`doEndTag, doStartTag, getParent, release, setPageContext, setParent`

Constructor Detail

### EscapeBodyTag

    public EscapeBodyTag()

Method Detail

### setJavaScriptEscape

    public void setJavaScriptEscape(String javaScriptEscape)
                             throws JspException

  Set JavaScript escaping for this tag, as boolean value. Default is "false".

  Throws:
    `JspException`

### doStartTagInternal

    protected int doStartTagInternal()

  Description copied from class: `RequestContextAwareTag`
  Called by doStartTag to perform the actual work.

  Specified by:
    `doStartTagInternal` in class `RequestContextAwareTag`
  Returns:
    same as TagSupport.doStartTag
  See Also:
    `TagSupport.doStartTag()`

### doInitBody

    public void doInitBody()

  Specified by:
    `doInitBody` in interface `BodyTag`

### setBodyContent

    public void setBodyContent(BodyContent bodyContent)

  Specified by:
    `setBodyContent` in interface `BodyTag`

### doAfterBody

    public int doAfterBody()
                    throws JspException

  Specified by:
    `doAfterBody` in interface `IterationTag`
  Overrides:
    `doAfterBody` in class `TagSupport`
  Throws:
    `JspException`

### readBodyContent

    protected String readBodyContent()
                              throws IOException

  Read the unescaped body content from the page.

  Returns:
    the original content
  Throws:
    `IOException` - if reading failed

### writeBodyContent

    protected void writeBodyContent(String content)
                             throws IOException

  Write the escaped body content to the page.

  Can be overridden in subclasses, e.g. for testing purposes.

  Parameters:
    `content` - the content to write
  Throws:
    `IOException` - if writing failed