Package org.springframework.web.servlet.tags

# Class BindTag

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

All Implemented Interfaces:
  `IterationTag`, `JspTag`, `Tag`, `TryCatchFinally`, `Serializable`, `EditorAwareTag`

public class BindTag extends HtmlEscapingAwareTag implements EditorAwareTag
The `<bind>` tag supports evaluation of binding errors for a certain bean or bean property. Exposes a "status" variable of type `BindStatus`, to both Java expressions and JSP EL expressions.

Can be used to bind to any bean or bean property in the model. The specified path determines whether the tag exposes the status of the bean itself (showing object-level errors), a specific bean property (showing field errors), or a matching set of bean properties (showing all corresponding field errors).

The `Errors` object that has been bound using this tag is exposed to collaborating tags, as well as the bean property that this errors object applies to. Nested tags such as the `TransformTag` can access those exposed properties.

### 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.
ignoreNestedPath | false | true | Set whether to ignore a nested path, if any. Default is to not ignore.
path | true | true | The path to the bean or bean property to bind status information for. For instance account.name, company.address.zipCode or just employee. The status object will exported to the page scope, specifically for this bean or bean property

Author:
  Rod Johnson, Juergen Hoeller
See Also:
  - `setPath(java.lang.String)`
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`STATUS_VARIABLE_NAME`
Name of the exposed variable within the scope of this tag: "status".

### Fields inherited from class org.springframework.web.servlet.tags.RequestContextAwareTag

`logger, REQUEST_CONTEXT_PAGE_ATTRIBUTE`

### Fields inherited from class jakarta.servlet.jsp.tagext.TagSupport

`id, 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
`BindTag()`

## Method Summary

Modifier and Type
Method
Description
`int`
`doEndTag()`
`void`
`doFinally()`
`protected final int`
`doStartTagInternal()`
Called by doStartTag to perform the actual work.
`final PropertyEditor`
`getEditor()`
Retrieve the PropertyEditor for the property that this tag is currently bound to.
`final org.springframework.validation.Errors`
`getErrors()`
Retrieve the Errors instance that this tag is currently bound to.
`String`
`getPath()`
Return the path that this tag applies to.
`final String`
`getProperty()`
Retrieve the property that this tag is currently bound to, or `null` if bound to an object rather than a specific property.
`boolean`
`isIgnoreNestedPath()`
Return whether to ignore a nested path, if any.
`void`
`setIgnoreNestedPath(boolean ignoreNestedPath)`
Set whether to ignore a nested path, if any.
`void`
`setPath(String path)`
Set the path that this tag should apply.

### 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, doStartTag, getRequestContext`

### Methods inherited from class jakarta.servlet.jsp.tagext.TagSupport

`doAfterBody, 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`

## Field Details

### STATUS_VARIABLE_NAME

public static final String STATUS_VARIABLE_NAME
Name of the exposed variable within the scope of this tag: "status".

See Also:
  - Constant Field Values

## Constructor Details

### BindTag

public BindTag()

## Method Details

### setPath

public void setPath(String path)
Set the path that this tag should apply. Can be a bean (for example, "person") to get global errors, or a bean property (for example, "person.name") to get field errors (also supporting nested fields and "person.na*" mappings). "person.*" will return all errors for the specified bean, both global and field errors.

See Also:
  - `Errors.getGlobalErrors()`
  - `Errors.getFieldErrors()`

### getPath

public String getPath()
Return the path that this tag applies to.

### setIgnoreNestedPath

public void setIgnoreNestedPath(boolean ignoreNestedPath)
Set whether to ignore a nested path, if any. Default is to not ignore.

### isIgnoreNestedPath

public boolean isIgnoreNestedPath()
Return whether to ignore a nested path, if any.

### doStartTagInternal

protected final int doStartTagInternal() throws Exception
Description copied from class: `RequestContextAwareTag`
Called by doStartTag to perform the actual work.

Specified by:
  `doStartTagInternal` in class `RequestContextAwareTag`
Returns:
  same as TagSupport.doStartTag
Throws:
  `Exception` - any exception, any checked one other than a JspException gets wrapped in a JspException by doStartTag
See Also:
  - `TagSupport.doStartTag()`

### doEndTag

public int doEndTag()

Specified by:
  `doEndTag` in interface `Tag`
Overrides:
  `doEndTag` in class `TagSupport`

### getProperty

@Nullable public final String getProperty()
Retrieve the property that this tag is currently bound to, or `null` if bound to an object rather than a specific property. Intended for cooperating nesting tags.

Returns:
  the property that this tag is currently bound to, or `null` if none

### getErrors

@Nullable public final org.springframework.validation.Errors getErrors()
Retrieve the Errors instance that this tag is currently bound to. Intended for cooperating nesting tags.

Returns:
  the current Errors instance, or `null` if none

### getEditor

@Nullable public final PropertyEditor getEditor()
Description copied from interface: `EditorAwareTag`
Retrieve the PropertyEditor for the property that this tag is currently bound to. Intended for cooperating nesting tags.

Specified by:
  `getEditor` in interface `EditorAwareTag`
Returns:
  the current PropertyEditor, or `null` if none

### doFinally

public void doFinally()

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