Package org.springframework.web.servlet.tags.form

# Class LabelTag

java.lang.Object
jakarta.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:
  `DynamicAttributes`, `IterationTag`, `JspTag`, `Tag`, `TryCatchFinally`, `Serializable`, `EditorAwareTag`

public class LabelTag extends AbstractHtmlElementTag
The `<label>` tag renders a form field label in an HTML 'label' tag.

See the "formTags" showcase application that ships with the full Spring distribution for an example of this class in action.

### Attribute Summary

Attribute | Required? | Runtime Expression? | Description
--- | --- | --- | ---
cssClass | false | true | HTML Optional Attribute.
cssErrorClass | false | true | HTML Optional Attribute. Used only when errors are present.
cssStyle | false | true | HTML Optional Attribute
dir | false | true | HTML Standard Attribute
for | false | true | HTML Standard Attribute
htmlEscape | false | true | Enable/disable HTML escaping of rendered values.
id | false | true | HTML Standard Attribute
lang | false | true | HTML Standard Attribute
onclick | false | true | HTML Event Attribute
ondblclick | false | true | HTML Event Attribute
onkeydown | false | true | HTML Event Attribute
onkeypress | false | true | HTML Event Attribute
onkeyup | false | true | HTML Event Attribute
onmousedown | false | true | HTML Event Attribute
onmousemove | false | true | HTML Event Attribute
onmouseout | false | true | HTML Event Attribute
onmouseover | false | true | HTML Event Attribute
onmouseup | false | true | HTML Event Attribute
path | true | true | Path to errors object for data binding
tabindex | false | true | HTML Standard Attribute
title | false | true | HTML Standard Attribute

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 jakarta.servlet.jsp.tagext.TagSupport

`pageContext`

### Fields inherited from interface jakarta.servlet.jsp.tagext.IterationTag

`EVAL_BODY_AGAIN`

### Fields inherited from interface jakarta.servlet.jsp.tagext.Tag

`EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

## Constructor Summary

Constructors
Constructor
Description
`LabelTag()`

## Method Summary

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 the `TagWriter` instance.
`protected String`
`getFor()`
Get the value of the '`id`' attribute.
`protected String`
`getName()`
Overrides `#getName()` to always return `null`, 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 jakarta.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`

## Constructor Details

### LabelTag

public LabelTag()

## Method Details

### 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.

### getFor

@Nullable protected String getFor()
Get the value of the '`id`' attribute.

May be a runtime expression.

### 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 class `AbstractFormTag`
Returns:
  `Tag.EVAL_BODY_INCLUDE`
Throws:
  `JspException`

### getName

@Nullable protected String getName() throws JspException
Overrides `#getName()` to always return `null`, because the '`name`' attribute is not supported by the '`label`' tag.

Overrides:
  `getName` in class `AbstractDataBoundFormElementTag`
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 interface `Tag`
Overrides:
  `doEndTag` in class `TagSupport`
Throws:
  `JspException`

### doFinally

public void doFinally()
Disposes of the `TagWriter` instance.

Specified by:
  `doFinally` in interface `TryCatchFinally`
Overrides:
  `doFinally` in class `AbstractDataBoundFormElementTag`