org.springframework.web.servlet.tags
Class NestedPathTag

java.lang.Object
  extended by javax.servlet.jsp.tagext.TagSupport
      extended by 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
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
NestedPathTag()
           
 
Method Summary
 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