org.apache.struts.taglib.nested.logic

Class NestedIterateTag

Implemented Interfaces:
NestedNameSupport, NestedPropertySupport, NestedTagSupport

public class NestedIterateTag
extends IterateTag
implements NestedNameSupport

NestedIterateTag. Slightly more complex that the other extensions. This one has to yield a proper index property. Very taxing.
Version:
$Rev: 54929 $ $Date: 2004-10-16 17:38:42 +0100 (Sat, 16 Oct 2004) $
Since:
Struts 1.1

Field Summary

private String
nesting
private String
originalName
private String
originalNesting
private String
originalNestingName
private String
originalProperty

Fields inherited from class org.apache.struts.taglib.logic.IterateTag

collection, id, indexId, iterator, length, lengthCount, lengthValue, messages, name, offset, offsetValue, property, scope, started, type

Method Summary

private String
deriveNestedProperty()
The only added property to the class.
int
doAfterBody()
This is only overriden as the include reference will need it's index updated.
int
doEndTag()
Complete the processing of the tag.
int
doStartTag()
Overriding method of the heart of the matter.
void
release()
Release the tag's resources and reset the values.

Methods inherited from class org.apache.struts.taglib.logic.IterateTag

doAfterBody, doEndTag, doStartTag, getCollection, getId, getIndex, getIndexId, getLength, getName, getOffset, getProperty, getScope, getType, release, setCollection, setId, setIndexId, setLength, setName, setOffset, setProperty, setScope, setType

Field Details

nesting

private String nesting

originalName

private String originalName

originalNesting

private String originalNesting

originalNestingName

private String originalNestingName

originalProperty

private String originalProperty

Method Details

deriveNestedProperty

private String deriveNestedProperty()
The only added property to the class. For use in proper nesting.
Returns:
String value of the property and the current index or mapping.

doAfterBody

public int doAfterBody()
            throws JspException
This is only overriden as the include reference will need it's index updated.
Overrides:
doAfterBody in interface IterateTag
Returns:
int JSP continuation directive.

doEndTag

public int doEndTag()
            throws JspException
Complete the processing of the tag. The nested tags here will restore all the original value for the tag itself and the nesting context.
Overrides:
doEndTag in interface IterateTag
Returns:
int to describe the next step for the JSP processor

doStartTag

public int doStartTag()
            throws JspException
Overriding method of the heart of the matter. Gets the relative property and leaves the rest up to the original tag implementation. Sweet.
Overrides:
doStartTag in interface IterateTag
Returns:
int JSP continuation directive. This is in the hands of the super class.

release

public void release()
Release the tag's resources and reset the values.
Overrides:
release in interface IterateTag

Copyright B) 2000-2007 - The Apache Software Foundation