Class LabelTag
- 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.LabelTag
- All Implemented Interfaces:
Serializable
,DynamicAttributes
,IterationTag
,JspTag
,Tag
,TryCatchFinally
,EditorAwareTag
public class LabelTag extends AbstractHtmlElementTag
Databinding-aware JSP tag for rendering an HTML 'label
' element that defines text that is associated with a single form element.See the "formTags" showcase application that ships with the full Spring distribution for an example of this class in action.
- 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.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 LabelTag()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected String
autogenerateFor()
Autogenerate the 'for
' attribute value for this tag.int
doEndTag()
Close the 'label
' tag.void
doFinally()
Disposes of theTagWriter
instance.String
getFor()
Get the value of the 'id
' attribute.protected String
getName()
Overrides#getName()
to always returnnull
, because the 'name
' attribute is not supported by the 'label
' tag.protected String
resolveFor()
Determine the 'for
' attribute value for this tag, autogenerating one if none specified.void
setFor(String forId)
Set the value of the 'for
' attribute.protected int
writeTagContent(TagWriter tagWriter)
Writes the opening 'label
' tag and forces a block tag so that body content is written correctly.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, 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
Constructor Detail
LabelTag
public LabelTag()
Method Detail
setFor
public void setFor(String forId)
Set the value of the 'for
' attribute.Defaults to the value of
AbstractDataBoundFormElementTag.getPath()
; may be a runtime expression.- Throws:
IllegalArgumentException
- if the supplied value isnull
writeTagContent
protected int writeTagContent(TagWriter tagWriter) throws JspException
Writes the opening 'label
' tag and forces a block tag so that body content is written correctly.- Specified by:
writeTagContent
in classAbstractFormTag
- Returns:
Tag.EVAL_BODY_INCLUDE
- Throws:
JspException
getName
protected String getName() throws JspException
Overrides#getName()
to always returnnull
, because the 'name
' attribute is not supported by the 'label
' tag.- Overrides:
getName
in classAbstractDataBoundFormElementTag
- Returns:
- the value for the HTML '
name
' attribute - Throws:
JspException
resolveFor
protected String resolveFor() throws JspException
Determine the 'for
' attribute value for this tag, autogenerating one if none specified.- Throws:
JspException
- See Also:
getFor()
,autogenerateFor()
autogenerateFor
protected String autogenerateFor() throws JspException
Autogenerate the 'for
' attribute value for this tag.The default implementation delegates to
AbstractDataBoundFormElementTag.getPropertyPath()
, deleting invalid characters (such as "[" or "]").- Throws:
JspException
doEndTag
public int doEndTag() throws JspException
Close the 'label
' tag.- Specified by:
doEndTag
in interfaceTag
- Overrides:
doEndTag
in classTagSupport
- Throws:
JspException
doFinally
public void doFinally()
Disposes of theTagWriter
instance.- Specified by:
doFinally
in interfaceTryCatchFinally
- Overrides:
doFinally
in classAbstractDataBoundFormElementTag