org.apache.struts.taglib.logic
Class IterateTag

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

public class IterateTag
extends javax.servlet.jsp.tagext.BodyTagSupport

Custom tag that iterates the elements of a collection, which can be either an attribute or the property of an attribute. The collection can be any of the following: an array of objects, an Enumeration, an Iterator, a Collection (which includes Lists, Sets and Vectors), or a Map (which includes Hashtables) whose elements will be iterated over.

Version:
$Rev: 56513 $ $Date: 2004-11-03 19:20:47 +0000 (Wed, 03 Nov 2004) $
See Also:
Serialized Form

Field Summary
protected  java.lang.Object collection
          The collection over which we will be iterating.
protected  java.lang.String id
          The name of the scripting variable to be exposed.
protected  java.lang.String indexId
          The name of the scripting variable to be exposed as the current index.
protected  java.util.Iterator iterator
          Iterator of the elements of this collection, while we are actually running.
protected  java.lang.String length
          The length value or attribute name (<=0 means no limit).
protected  int lengthCount
          The number of elements we have already rendered.
protected  int lengthValue
          The actual length value (calculated in the start tag).
protected static MessageResources messages
          The message resources for this package.
protected  java.lang.String name
          The name of the collection or owning bean.
protected  java.lang.String offset
          The starting offset (zero relative).
protected  int offsetValue
          The actual offset value (calculated in the start tag).
protected  java.lang.String property
          The property name containing the collection.
protected  java.lang.String scope
          The scope of the bean specified by the name property, if any.
protected  boolean started
          Has this tag instance been started?
protected  java.lang.String type
          The Java class of each exposed element of the collection.
 
Fields inherited from class javax.servlet.jsp.tagext.BodyTagSupport
bodyContent
 
Fields inherited from class javax.servlet.jsp.tagext.TagSupport
pageContext, parent, values
 
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
IterateTag()
           
 
Method Summary
 int doAfterBody()
          Make the next collection element available and loop, or finish the iterations if there are no more elements.
 int doEndTag()
          Clean up after processing this enumeration.
 int doStartTag()
          Construct an iterator for the specified collection, and begin looping through the body once per element.
 java.lang.Object getCollection()
           
 java.lang.String getId()
           
 int getIndex()
          Return the zero-relative index of the current iteration through the loop.
 java.lang.String getIndexId()
           
 java.lang.String getLength()
           
 java.lang.String getName()
           
 java.lang.String getOffset()
           
 java.lang.String getProperty()
           
 java.lang.String getScope()
           
 java.lang.String getType()
           
 void release()
          Release all allocated resources.
 void setCollection(java.lang.Object collection)
           
 void setId(java.lang.String id)
           
 void setIndexId(java.lang.String indexId)
           
 void setLength(java.lang.String length)
           
 void setName(java.lang.String name)
           
 void setOffset(java.lang.String offset)
           
 void setProperty(java.lang.String property)
           
 void setScope(java.lang.String scope)
           
 void setType(java.lang.String type)
           
 
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, registerNatives, toString, wait, wait, wait
 
Methods inherited from interface javax.servlet.jsp.tagext.Tag
getParent, setPageContext, setParent
 

Field Detail

iterator

protected java.util.Iterator iterator
Iterator of the elements of this collection, while we are actually running.

lengthCount

protected int lengthCount
The number of elements we have already rendered.

lengthValue

protected int lengthValue
The actual length value (calculated in the start tag).

messages

protected static MessageResources messages
The message resources for this package.

offsetValue

protected int offsetValue
The actual offset value (calculated in the start tag).

started

protected boolean started
Has this tag instance been started?

collection

protected java.lang.Object collection
The collection over which we will be iterating.

id

protected java.lang.String id
The name of the scripting variable to be exposed.

indexId

protected java.lang.String indexId
The name of the scripting variable to be exposed as the current index.

length

protected java.lang.String length
The length value or attribute name (<=0 means no limit).

name

protected java.lang.String name
The name of the collection or owning bean.

offset

protected java.lang.String offset
The starting offset (zero relative).

property

protected java.lang.String property
The property name containing the collection.

scope

protected java.lang.String scope
The scope of the bean specified by the name property, if any.

type

protected java.lang.String type
The Java class of each exposed element of the collection.
Constructor Detail

IterateTag

public IterateTag()
Method Detail

getCollection

public java.lang.Object getCollection()

setCollection

public void setCollection(java.lang.Object collection)

getId

public java.lang.String getId()
Overrides:
getId in class javax.servlet.jsp.tagext.TagSupport

setId

public void setId(java.lang.String id)
Overrides:
setId in class javax.servlet.jsp.tagext.TagSupport

getIndex

public int getIndex()

Return the zero-relative index of the current iteration through the loop. If you specify an offset, the first iteration through the loop will have that value; otherwise, the first iteration will return zero.

This property is read-only, and gives nested custom tags access to this information. Therefore, it is only valid in between calls to doStartTag() and doEndTag().


getIndexId

public java.lang.String getIndexId()

setIndexId

public void setIndexId(java.lang.String indexId)

getLength

public java.lang.String getLength()

setLength

public void setLength(java.lang.String length)

getName

public java.lang.String getName()

setName

public void setName(java.lang.String name)

getOffset

public java.lang.String getOffset()

setOffset

public void setOffset(java.lang.String offset)

getProperty

public java.lang.String getProperty()

setProperty

public void setProperty(java.lang.String property)

getScope

public java.lang.String getScope()

setScope

public void setScope(java.lang.String scope)

getType

public java.lang.String getType()

setType

public void setType(java.lang.String type)

doStartTag

public int doStartTag()
               throws javax.servlet.jsp.JspException
Construct an iterator for the specified collection, and begin looping through the body once per element.
Overrides:
doStartTag in class javax.servlet.jsp.tagext.BodyTagSupport
Throws:
javax.servlet.jsp.JspException - if a JSP exception has occurred

doAfterBody

public int doAfterBody()
                throws javax.servlet.jsp.JspException
Make the next collection element available and loop, or finish the iterations if there are no more elements.
Overrides:
doAfterBody in class javax.servlet.jsp.tagext.BodyTagSupport
Throws:
javax.servlet.jsp.JspException - if a JSP exception has occurred

doEndTag

public int doEndTag()
             throws javax.servlet.jsp.JspException
Clean up after processing this enumeration.
Overrides:
doEndTag in class javax.servlet.jsp.tagext.BodyTagSupport
Throws:
javax.servlet.jsp.JspException - if a JSP exception has occurred

release

public void release()
Release all allocated resources.
Overrides:
release in class javax.servlet.jsp.tagext.BodyTagSupport


Copyright 2000-2006 - The Apache Software Foundation