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
Constructors Constructor Description EscapeBodyTag()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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(boolean 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
htmlEscape, isDefaultHtmlEscape, isHtmlEscape, isResponseEncodedHtmlEscape, 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(boolean 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 classRequestContextAwareTag
- Returns:
- same as TagSupport.doStartTag
- See Also:
TagSupport.doStartTag()
doInitBody
public void doInitBody()
- Specified by:
doInitBody
in interfaceBodyTag
setBodyContent
public void setBodyContent(BodyContent bodyContent)
- Specified by:
setBodyContent
in interfaceBodyTag
doAfterBody
public int doAfterBody() throws JspException
- Specified by:
doAfterBody
in interfaceIterationTag
- Overrides:
doAfterBody
in classTagSupport
- 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