Class AbstractHtmlElementBodyTag
- 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.form.AbstractFormTag
- org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag
- org.springframework.web.servlet.tags.form.AbstractHtmlElementTag
- org.springframework.web.servlet.tags.form.AbstractHtmlElementBodyTag
- All Implemented Interfaces:
Serializable
,BodyTag
,DynamicAttributes
,IterationTag
,JspTag
,Tag
,TryCatchFinally
,EditorAwareTag
public abstract class AbstractHtmlElementBodyTag extends AbstractHtmlElementTag implements BodyTag
Convenient super class for many html tags that render content using the databinding features of theAbstractHtmlElementTag
. The only thing sub-tags need to do is overriderenderDefaultContent(TagWriter)
.- Since:
- 2.0
- Author:
- Rob Harrop, Juergen Hoeller
- See Also:
- Serialized Form
Field Summary
Fields inherited from class org.springframework.web.servlet.tags.form.AbstractHtmlElementTag
CLASS_ATTRIBUTE, DIR_ATTRIBUTE, LANG_ATTRIBUTE, ONCLICK_ATTRIBUTE, ONDBLCLICK_ATTRIBUTE, ONKEYDOWN_ATTRIBUTE, ONKEYPRESS_ATTRIBUTE, ONKEYUP_ATTRIBUTE, ONMOUSEDOWN_ATTRIBUTE, ONMOUSEMOVE_ATTRIBUTE, ONMOUSEOUT_ATTRIBUTE, ONMOUSEOVER_ATTRIBUTE, ONMOUSEUP_ATTRIBUTE, STYLE_ATTRIBUTE, TABINDEX_ATTRIBUTE, TITLE_ATTRIBUTE
Fields inherited from class org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag
NESTED_PATH_VARIABLE_NAME
Fields inherited from class org.springframework.web.servlet.tags.RequestContextAwareTag
logger, REQUEST_CONTEXT_PAGE_ATTRIBUTE
Fields inherited from class javax.servlet.jsp.tagext.TagSupport
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 AbstractHtmlElementBodyTag()
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description int
doEndTag()
Ifrendering
, flush any bufferedBodyContent
or, if noBodyContent
is supplied,render the default content
.void
doFinally()
Clean up any attributes and stored resources.void
doInitBody()
protected void
exposeAttributes()
Called duringwriteTagContent(org.springframework.web.servlet.tags.form.TagWriter)
allowing subclasses to add any attributes to thePageContext
as needed.protected void
flushBufferedBodyContent(BodyContent bodyContent)
The user customised the output of the error messages - flush the buffered content into the mainJspWriter
.protected void
onWriteTagContent()
Called at the start ofwriteTagContent(org.springframework.web.servlet.tags.form.TagWriter)
allowing subclasses to perform any precondition checks or setup tasks that might be necessary.protected void
removeAttributes()
Called bydoFinally()
allowing subclasses to remove any attributes from thePageContext
as needed.protected abstract void
renderDefaultContent(TagWriter tagWriter)
protected void
renderFromBodyContent(BodyContent bodyContent, TagWriter tagWriter)
Render the tag contents based on the suppliedBodyContent
.void
setBodyContent(BodyContent bodyContent)
protected boolean
shouldRender()
Should rendering of this tag proceed at all.protected int
writeTagContent(TagWriter tagWriter)
Subclasses should implement this method to perform tag content rendering.Methods inherited from class org.springframework.web.servlet.tags.form.AbstractHtmlElementTag
getCssClass, getCssErrorClass, getCssStyle, getDir, getDynamicAttributes, getLang, getOnclick, getOndblclick, getOnkeydown, getOnkeypress, getOnkeyup, getOnmousedown, getOnmousemove, getOnmouseout, getOnmouseover, getOnmouseup, getTabindex, getTitle, isValidDynamicAttribute, resolveCssClass, setCssClass, setCssErrorClass, setCssStyle, setDir, setDynamicAttribute, setLang, setOnclick, setOndblclick, setOnkeydown, setOnkeypress, setOnkeyup, setOnmousedown, setOnmousemove, setOnmouseout, setOnmouseover, setOnmouseup, setTabindex, setTitle, writeDefaultAttributes, writeOptionalAttributes
Methods inherited from class org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag
autogenerateId, convertToDisplayString, getBindStatus, getBoundValue, getEditor, getId, getName, getNestedPath, getPath, getPropertyEditor, getPropertyPath, processFieldValue, resolveId, setId, setPath
Methods inherited from class org.springframework.web.servlet.tags.form.AbstractFormTag
createTagWriter, doStartTagInternal, evaluate, getDisplayString, getDisplayString, isDefaultHtmlEscape, writeOptionalAttribute
Methods inherited from class org.springframework.web.servlet.tags.HtmlEscapingAwareTag
htmlEscape, isHtmlEscape, isResponseEncodedHtmlEscape, setHtmlEscape
Methods inherited from class org.springframework.web.servlet.tags.RequestContextAwareTag
doCatch, doStartTag, getRequestContext
Methods inherited from class javax.servlet.jsp.tagext.TagSupport
doAfterBody, findAncestorWithClass, getParent, getValue, getValues, release, removeValue, 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.IterationTag
doAfterBody
Methods inherited from interface javax.servlet.jsp.tagext.Tag
doStartTag, getParent, release, setPageContext, setParent
Constructor Detail
AbstractHtmlElementBodyTag
public AbstractHtmlElementBodyTag()
Method Detail
writeTagContent
protected int writeTagContent(TagWriter tagWriter) throws JspException
Description copied from class:AbstractFormTag
Subclasses should implement this method to perform tag content rendering.- Specified by:
writeTagContent
in classAbstractFormTag
- Returns:
- valid tag render instruction as per
Tag.doStartTag()
. - Throws:
JspException
doEndTag
public int doEndTag() throws JspException
Ifrendering
, flush any bufferedBodyContent
or, if noBodyContent
is supplied,render the default content
.- Specified by:
doEndTag
in interfaceTag
- Overrides:
doEndTag
in classTagSupport
- Returns:
- a
Tag.EVAL_PAGE
result - Throws:
JspException
renderFromBodyContent
protected void renderFromBodyContent(BodyContent bodyContent, TagWriter tagWriter) throws JspException
Render the tag contents based on the suppliedBodyContent
.The default implementation simply
flushes
theBodyContent
directly to the output. Subclasses may choose to override this to add additional content to the output.- Throws:
JspException
doFinally
public void doFinally()
Clean up any attributes and stored resources.- Specified by:
doFinally
in interfaceTryCatchFinally
- Overrides:
doFinally
in classAbstractDataBoundFormElementTag
onWriteTagContent
protected void onWriteTagContent()
Called at the start ofwriteTagContent(org.springframework.web.servlet.tags.form.TagWriter)
allowing subclasses to perform any precondition checks or setup tasks that might be necessary.
shouldRender
protected boolean shouldRender() throws JspException
Should rendering of this tag proceed at all. Returns 'true
' by default causing rendering to occur always, Subclasses can override this if they provide conditional rendering.- Throws:
JspException
exposeAttributes
protected void exposeAttributes() throws JspException
Called duringwriteTagContent(org.springframework.web.servlet.tags.form.TagWriter)
allowing subclasses to add any attributes to thePageContext
as needed.- Throws:
JspException
removeAttributes
protected void removeAttributes()
Called bydoFinally()
allowing subclasses to remove any attributes from thePageContext
as needed.
flushBufferedBodyContent
protected void flushBufferedBodyContent(BodyContent bodyContent) throws JspException
The user customised the output of the error messages - flush the buffered content into the mainJspWriter
.- Throws:
JspException
renderDefaultContent
protected abstract void renderDefaultContent(TagWriter tagWriter) throws JspException
- Throws:
JspException
doInitBody
public void doInitBody() throws JspException
- Specified by:
doInitBody
in interfaceBodyTag
- Throws:
JspException
setBodyContent
public void setBodyContent(BodyContent bodyContent)
- Specified by:
setBodyContent
in interfaceBodyTag