org.springframework.web.servlet.tags

## Class NestedPathTag

- java.lang.Object
- - javax.servlet.jsp.tagext.TagSupport
  - - org.springframework.web.servlet.tags.NestedPathTag

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

    public class NestedPathTag
    extends TagSupport
    implements TryCatchFinally

Nested-path tag, to support and assist with nested beans or bean properties in the model. Exports a "nestedPath" variable of type String in request scope, visible to the current page and also included pages, if any.

The BindTag will auto-detect the current nested path and automatically prepend it to its own path to form a complete path to the bean or bean property.

This tag will also prepend any existing nested path that is currently set. Thus, you can nest multiple nested-path tags.

Thanks to Seth Ladd for the suggestion and the original implementation!

Since:
  1.1
Author:
  Juergen Hoeller
See Also:
  Serialized Form

### Field Summary

Fields
`static String` `NESTED_PATH_VARIABLE_NAME` Name of the exposed variable within the scope of this tag: "nestedPath".

### 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
`NestedPathTag()`

### Method Summary

Methods
`void` `doCatch(Throwable throwable)`
`int` `doEndTag()` Reset any previous nestedPath value.
`void` `doFinally()`
`int` `doStartTag()`
`String` `getPath()` Return the path that this tag applies to.
`void` `setPath(String path)` Set the path that this tag should apply.

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

#### NESTED_PATH_VARIABLE_NAME

    public static final String NESTED_PATH_VARIABLE_NAME

Name of the exposed variable within the scope of this tag: "nestedPath".

See Also:
  Constant Field Values

### Constructor Detail

#### NestedPathTag

    public NestedPathTag()

### Method Detail

#### setPath

    public void setPath(String path)

Set the path that this tag should apply.

E.g. "customer" to allow bind paths like "address.street" rather than "customer.address.street".

See Also:
  `BindTag.setPath(java.lang.String)`

#### getPath

    public String getPath()

Return the path that this tag applies to.

#### doStartTag

    public int doStartTag()
                   throws JspException

Specified by:
  `doStartTag` in interface `Tag`
Overrides:
  `doStartTag` in class `TagSupport`
Throws:
  `JspException`

#### doEndTag

    public int doEndTag()

Reset any previous nestedPath value.

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

#### doCatch

    public void doCatch(Throwable throwable)
                 throws Throwable

Specified by:
  `doCatch` in interface `TryCatchFinally`
Throws:
  `Throwable`

#### doFinally

    public void doFinally()

Specified by:
  `doFinally` in interface `TryCatchFinally`