org.apache.struts.taglib.nested.logic
Class NestedIterateTag

java.lang.Object
  |
  +--javax.servlet.jsp.tagext.TagSupport
        |
        +--javax.servlet.jsp.tagext.BodyTagSupport
              |
              +--org.apache.struts.taglib.logic.IterateTag
                    |
                    +--org.apache.struts.taglib.nested.logic.NestedIterateTag
All Implemented Interfaces:
javax.servlet.jsp.tagext.BodyTag, NestedNameSupport, NestedPropertySupport, NestedTagSupport, java.io.Serializable, javax.servlet.jsp.tagext.Tag

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.

Since:
Struts 1.1
Version:
$Revision: 1.1 $ $Date$
Author:
Arron Bates
See Also:
Serialized Form

Field Summary
private  java.lang.String nesting
           
private  java.lang.String originalName
           
private  java.lang.String originalNesting
           
private  java.lang.String originalNestingName
           
private  java.lang.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
 
Fields inherited from class javax.servlet.jsp.tagext.BodyTagSupport
bodyContent
 
Fields inherited from class javax.servlet.jsp.tagext.TagSupport
pageContext
 
Fields inherited from interface javax.servlet.jsp.tagext.BodyTag
EVAL_BODY_TAG
 
Fields inherited from interface javax.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
 
Constructor Summary
NestedIterateTag()
           
 
Method Summary
private  java.lang.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
getCollection, getId, getIndex, getIndexId, getLength, getName, getOffset, getProperty, getScope, getType, setCollection, setId, setIndexId, setLength, setName, setOffset, setProperty, setScope, setType
 
Methods inherited from class javax.servlet.jsp.tagext.BodyTagSupport
doInitBody, getBodyContent, getPreviousOut, setBodyContent
 
Methods inherited from class javax.servlet.jsp.tagext.TagSupport
findAncestorWithClass, getParent, getValue, getValues, removeValue, setPageContext, setParent, setValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.struts.taglib.nested.NestedNameSupport
getName, setName
 
Methods inherited from interface org.apache.struts.taglib.nested.NestedPropertySupport
getProperty, setProperty
 
Methods inherited from interface javax.servlet.jsp.tagext.Tag
getParent, setPageContext, setParent
 

Field Detail

nesting

private java.lang.String nesting

originalName

private java.lang.String originalName

originalProperty

private java.lang.String originalProperty

originalNesting

private java.lang.String originalNesting

originalNestingName

private java.lang.String originalNestingName
Constructor Detail

NestedIterateTag

public NestedIterateTag()
Method Detail

doStartTag

public int doStartTag()
               throws javax.servlet.jsp.JspException
Overriding method of the heart of the matter. Gets the relative property and leaves the rest up to the original tag implementation. Sweet.

Specified by:
doStartTag in interface javax.servlet.jsp.tagext.Tag
Overrides:
doStartTag in class IterateTag
Returns:
int JSP continuation directive. This is in the hands of the super class.
Throws:
javax.servlet.jsp.JspException - if a JSP exception has occurred

deriveNestedProperty

private java.lang.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 javax.servlet.jsp.JspException
This is only overriden as the include reference will need it's index updated.

Specified by:
doAfterBody in interface javax.servlet.jsp.tagext.BodyTag
Overrides:
doAfterBody in class IterateTag
Returns:
int JSP continuation directive.
Throws:
javax.servlet.jsp.JspException - if a JSP exception has occurred

doEndTag

public int doEndTag()
             throws javax.servlet.jsp.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.

Specified by:
doEndTag in interface javax.servlet.jsp.tagext.Tag
Overrides:
doEndTag in class IterateTag
Returns:
int to describe the next step for the JSP processor
Throws:
javax.servlet.jsp.JspException - for the bad things JSP's do

release

public void release()
Release the tag's resources and reset the values.

Specified by:
release in interface javax.servlet.jsp.tagext.Tag
Overrides:
release in class IterateTag


Copyright © 2000-2003 - Apache Software Foundation