BindTag (Spring Framework 3.2.1.RELEASE API)
Date: 2013-01-24

org.springframework.web.servlet.tags

## Class BindTag

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

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

      public class BindTag
      extends HtmlEscapingAwareTag
      implements EditorAwareTag

  Bind tag, supporting 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.

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

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static 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 javax.servlet.jsp.tagext.TagSupport

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `doEndTag()`
    `void` | `doFinally()`
    `protected int` | `doStartTagInternal()` Called by doStartTag to perform the actual work.
    `PropertyEditor` | `getEditor()` Retrieve the PropertyEditor for the property that this tag is currently bound to.
    `Errors` | `getErrors()` Retrieve the Errors instance that this tag is currently bound to.
    `String` | `getPath()` Return the path that this tag applies to.
    `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

      `isDefaultHtmlEscape, isHtmlEscape, 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, 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 Detail

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

    - #### BindTag

          public BindTag()

  - ### Method Detail

    - #### setPath

          public void setPath(String path)

      Set the path that this tag should apply. Can be a bean (e.g. "person") to get global errors, or a bean property (e.g. "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

          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

          public final 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

          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`