Class EscapeBodyTag

  • All Implemented Interfaces:
    java.io.Serializable, javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag, javax.servlet.jsp.tagext.TryCatchFinally

    public class EscapeBodyTag
    extends HtmlEscapingAwareTag
    implements javax.servlet.jsp.tagext.BodyTag
    The <escapeBody> tag is used 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.

    Attribute Summary
    Attribute Required? Runtime Expression? Description
    htmlEscape false true Set HTML escaping for this tag, as boolean value. Overrides the default HTML escaping setting for the current page.
    javaScriptEscape false true Set JavaScript escaping for this tag, as boolean value. Default is false.
    See Also:
    Serialized Form
    • Field Summary

      • 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

      Constructors 
      Constructor Description
      EscapeBodyTag()  
    • Constructor Detail

      • EscapeBodyTag

        public EscapeBodyTag()
    • Method Detail

      • setJavaScriptEscape

        public void setJavaScriptEscape​(boolean javaScriptEscape)
        Set JavaScript escaping for this tag, as boolean value. Default is "false".
      • doInitBody

        public void doInitBody()
        Specified by:
        doInitBody in interface javax.servlet.jsp.tagext.BodyTag
      • setBodyContent

        public void setBodyContent​(@Nullable
                                   javax.servlet.jsp.tagext.BodyContent bodyContent)
        Specified by:
        setBodyContent in interface javax.servlet.jsp.tagext.BodyTag
      • doAfterBody

        public int doAfterBody()
                        throws javax.servlet.jsp.JspException
        Specified by:
        doAfterBody in interface javax.servlet.jsp.tagext.IterationTag
        Overrides:
        doAfterBody in class javax.servlet.jsp.tagext.TagSupport
        Throws:
        javax.servlet.jsp.JspException
      • readBodyContent

        protected java.lang.String readBodyContent()
        Read the unescaped body content from the page.
        Returns:
        the original content
      • writeBodyContent

        protected void writeBodyContent​(java.lang.String content)
                                 throws java.io.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:
        java.io.IOException - if writing failed