org.apache.commons.jelly.tags.core

## Class ForEachTag

- java.lang.Object
- - org.apache.commons.jelly.TagSupport
  - - org.apache.commons.jelly.tags.core.ForEachTag

All Implemented Interfaces:
  Tag

    public class ForEachTag
    extends TagSupport

Iterates over a collection, iterator or an array of objects. Uses the same syntax as the JSTL `forEach` tag does.

Version:
  $Revision: 155420 $
Author:
  James Strachan

### Nested Class Summary

Nested Classes
`static class` `ForEachTag.LoopStatus` Holds the status of the loop.

### Field Summary

### Fields inherited from class org.apache.commons.jelly.TagSupport

`body, context, parent`

### Constructor Summary

Constructors
Constructor and Description
`ForEachTag()`

### Method Summary

Methods
`void` `doTag(XMLOutput output)` Evaluates this tag after all the tags properties have been initialized.
`void` `setBegin(int begin)` Sets the starting index value
`void` `setEnd(int end)` Sets the ending index value
`void` `setIndexVar(java.lang.String indexVar)` Sets the variable name to export the current index counter to
`void` `setItems(Expression items)` Sets the expression used to iterate over.
`void` `setStep(int step)` Sets the index increment step
`void` `setVar(java.lang.String var)` Sets the variable name to export for the item being iterated over
`void` `setVarStatus(java.lang.String var)` Sets the variable name to export the current status to.

### Methods inherited from class org.apache.commons.jelly.TagSupport

`findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, findAncestorWithClass, getBody, getBodyText, getBodyText, getContext, getParent, invokeBody, isEscapeText, isTrim, setBody, setContext, setEscapeText, setParent, setTrim, trimBody`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ForEachTag

    public ForEachTag()

### Method Detail

#### doTag

    public void doTag(XMLOutput output)
               throws MissingAttributeException,
                      JellyTagException

Description copied from interface: `Tag`
Evaluates this tag after all the tags properties have been initialized.

Throws:
  `MissingAttributeException`
  `JellyTagException`

#### setItems

    public void setItems(Expression items)

Sets the expression used to iterate over. This expression could resolve to an Iterator, Collection, Map, Array, Enumeration or comma separated String.

#### setVar

    public void setVar(java.lang.String var)

Sets the variable name to export for the item being iterated over

#### setIndexVar

    public void setIndexVar(java.lang.String indexVar)

Sets the variable name to export the current index counter to

#### setBegin

    public void setBegin(int begin)

Sets the starting index value

#### setEnd

    public void setEnd(int end)

Sets the ending index value

#### setStep

    public void setStep(int step)

Sets the index increment step

#### setVarStatus

    public void setVarStatus(java.lang.String var)

Sets the variable name to export the current status to. The status is an implementation of the JSTL LoopTagStatus interface that provides the following bean properties:

- current - the current value of the loop items being iterated
- index - the current index of the items being iterated
- first - true if this is the first iteration, false otherwise
- last - true if this is the last iteration, false otherwise
- begin - the starting index of the loop
- step - the stepping value of the loop
- end - the end index of the loop