<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8"/>
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  <meta name="Date-Revision-yyyymmdd" content="20140918"/>
  <meta http-equiv="Content-Language" content="en"/>
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

  <title>iterator tag</title>

  <link href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,400italic,600italic,700italic" rel="stylesheet" type="text/css">
  <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet">
  <link href="/css/main.css" rel="stylesheet">
  <link href="/css/custom.css" rel="stylesheet">
  <link href="/highlighter/github-theme.css" rel="stylesheet">

  <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
  <script type="text/javascript" src="/bootstrap/js/bootstrap.js"></script>
  <script type="text/javascript" src="/js/community.js"></script>
</head>
<body>

<a href="http://github.com/apache/struts" class="github-ribbon">
  <img style="position: absolute; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png" alt="Fork me on GitHub">
</a>

<header>
  <nav>
    <div role="navigation" class="navbar navbar-default navbar-fixed-top">
      <div class="container">
        <div class="navbar-header">
          <button type="button" data-toggle="collapse" data-target="#struts-menu" class="navbar-toggle">
            Menu
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a href="/index.html" class="navbar-brand logo"><img src="/img/struts-logo.svg"></a>
        </div>
        <div id="struts-menu" class="navbar-collapse collapse">
          <ul class="nav navbar-nav">
            <li class="dropdown">
              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
                Home<b class="caret"></b>
              </a>
              <ul class="dropdown-menu">
                <li><a href="/index.html">Welcome</a></li>
                <li><a href="/download.cgi">Download</a></li>
                <li><a href="/releases.html">Releases</a></li>
                <li><a href="/announce-2021.html">Announcements</a></li>
                <li><a href="http://www.apache.org/licenses/">License</a></li>
                <li><a href="https://www.apache.org/foundation/thanks.html">Thanks!</a></li>
                <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
                Support<b class="caret"></b>
              </a>
              <ul class="dropdown-menu">
                <li><a href="/mail.html">User Mailing List</a></li>
                <li><a href="https://issues.apache.org/jira/browse/WW">Issue Tracker</a></li>
                <li><a href="/security.html">Reporting Security Issues</a></li>
                <li class="divider"></li>
                <li><a href="https://cwiki.apache.org/confluence/display/WW/Migration+Guide">Version Notes</a></li>
                <li><a href="https://cwiki.apache.org/confluence/display/WW/Security+Bulletins">Security Bulletins</a></li>
                <li class="divider"></li>
                <li><a href="/maven/project-info.html">Maven Project Info</a></li>
                <li><a href="/maven/struts2-core/dependencies.html">Struts Core Dependencies</a></li>
                <li><a href="/maven/struts2-plugins/modules.html">Plugin Dependencies</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
                Documentation<b class="caret"></b>
              </a>
              <ul class="dropdown-menu">
                <li><a href="/birdseye.html">Birds Eye</a></li>
                <li><a href="/primer.html">Key Technologies</a></li>
                <li><a href="/kickstart.html">Kickstart FAQ</a></li>
                <li><a href="https://cwiki.apache.org/confluence/display/WW/Home">Wiki</a></li>
                <li class="divider"></li>
                <li><a href="/getting-started/">Getting Started</a></li>
                <li><a href="/security/">Security Guide</a></li>
                <li><a href="/core-developers/">Core Developers Guide</a></li>
                <li><a href="/tag-developers/">Tag Developers Guide</a></li>
                <li><a href="/maven-archetypes/">Maven Archetypes</a></li>
                <li><a href="/plugins/">Plugins</a></li>
                <li><a href="/maven/struts2-core/apidocs/index.html">Struts Core API</a></li>
                <li><a href="/tag-developers/tag-reference.html">Tag reference</a></li>
                <li><a href="https://cwiki.apache.org/confluence/display/WW/FAQs">FAQs</a></li>
                <li><a href="http://cwiki.apache.org/S2PLUGINS/home.html">Plugin registry</a></li>
              </ul>
            </li>
            <li class="dropdown">
              <a data-toggle="dropdown" href="#" class="dropdown-toggle">
                Contributing<b class="caret"></b>
              </a>
              <ul class="dropdown-menu">
                <li><a href="/youatstruts.html">You at Struts</a></li>
                <li><a href="/helping.html">How to Help FAQ</a></li>
                <li><a href="/dev-mail.html">Development Lists</a></li>
                <li><a href="/contributors/">Contributors Guide</a></li>
                <li class="divider"></li>
                <li><a href="/submitting-patches.html">Submitting patches</a></li>
                <li><a href="/builds.html">Source Code and Builds</a></li>
                <li><a href="/coding-standards.html">Coding standards</a></li>
                <li><a href="https://cwiki.apache.org/confluence/display/WW/Contributors+Guide">Contributors Guide</a></li>
                <li class="divider"></li>
                <li><a href="/release-guidelines.html">Release Guidelines</a></li>
                <li><a href="/bylaws.html">PMC Charter</a></li>
                <li><a href="/volunteers.html">Volunteers</a></li>
                <li><a href="https://gitbox.apache.org/repos/asf?p=struts.git">Source Repository</a></li>
                <li><a href="/updating-website.html">Updating the website</a></li>
              </ul>
            </li>
            <li class="apache"><a href="http://www.apache.org/"><img src="/img/apache.png"></a></li>
          </ul>
        </div>
      </div>
    </div>
  </nav>
</header>


<article class="container">
  <section class="col-md-12">
    <a class="edit-on-gh" href="https://github.com/apache/struts-site/edit/master/source/tag-developers/iterator-tag.md" title="Edit this page on GitHub">Edit on GitHub</a>
    
    <a href="tag-reference.html" title="back to Tag Reference"><< back to Tag Reference</a>
    
    <h1 id="iterator">iterator</h1>

<p>Please make sure you have read the <a href="tag-syntax">Tag Syntax</a> document and understand how tag attribute syntax works.</p>

<blockquote>
  <p><strong>NOTE</strong>: The <code class="highlighter-rouge">id</code> attribute is deprecated in Struts 2.1.x, and has been replaced by the <code class="highlighter-rouge">var</code> attribute.
The <code class="highlighter-rouge">begin</code>, <code class="highlighter-rouge">end</code> and <code class="highlighter-rouge">step</code> attributes are only available from 2.1.7+</p>
</blockquote>

<h2 id="description">Description</h2>

<p>Iterator will iterate over a value. An iterable value can be any of: <code class="highlighter-rouge">java.util.Collection</code>, <code class="highlighter-rouge">java.util.Iterator</code>, 
<code class="highlighter-rouge">java.util.Enumeration</code>, <code class="highlighter-rouge">java.util.Map</code>, or an array.</p>

<p>Iterate over a iterable value</p>

<h2 id="attributes">Attributes</h2>

<table width="100%">
    <tr>
        <td colspan="6"><h4>Dynamic Attributes Allowed:</h4> false</td>
    </tr>
    <tr>
        <td colspan="6">&nbsp;</td>
    </tr>
    <tr>
        <th align="left" valign="top"><h4>Name</h4></th>
        <th align="left" valign="top"><h4>Required</h4></th>
        <th align="left" valign="top"><h4>Default</h4></th>
        <th align="left" valign="top"><h4>Evaluated</h4></th>
        <th align="left" valign="top"><h4>Type</h4></th>
        <th align="left" valign="top"><h4>Description</h4></th>
    </tr>
        <tr>
            <td align="left" valign="top">begin</td>
            <td align="left" valign="top">false</td>
            <td align="left" valign="top">0</td>
            <td align="left" valign="top">false</td>
            <td align="left" valign="top">Integer</td>
            <td align="left" valign="top">if specified the iteration will start on that index</td>
        </tr>
        <tr>
            <td align="left" valign="top">end</td>
            <td align="left" valign="top">false</td>
            <td align="left" valign="top">Size of the 'values' List or array, or 0 if 'step' is negative</td>
            <td align="left" valign="top">false</td>
            <td align="left" valign="top">Integer</td>
            <td align="left" valign="top">if specified the iteration will end on that index(inclusive)</td>
        </tr>
        <tr>
            <td align="left" valign="top">status</td>
            <td align="left" valign="top">false</td>
            <td align="left" valign="top">false</td>
            <td align="left" valign="top">false</td>
            <td align="left" valign="top">Boolean</td>
            <td align="left" valign="top">If specified, an instanceof IteratorStatus will be pushed into stack upon each iteration</td>
        </tr>
        <tr>
            <td align="left" valign="top">step</td>
            <td align="left" valign="top">false</td>
            <td align="left" valign="top">1</td>
            <td align="left" valign="top">false</td>
            <td align="left" valign="top">Integer</td>
            <td align="left" valign="top">if specified the iteration index will be increased by this value on each iteration. It can be a negative value, in which case 'begin' must be greater than 'end'</td>
        </tr>
        <tr>
            <td align="left" valign="top">value</td>
            <td align="left" valign="top">false</td>
            <td align="left" valign="top"></td>
            <td align="left" valign="top">false</td>
            <td align="left" valign="top">String</td>
            <td align="left" valign="top">the iteratable source to iterate over, else an the object itself will be put into a newly created List</td>
        </tr>
        <tr>
            <td align="left" valign="top">var</td>
            <td align="left" valign="top">false</td>
            <td align="left" valign="top"></td>
            <td align="left" valign="top">false</td>
            <td align="left" valign="top">String</td>
            <td align="left" valign="top">Name used to reference the value pushed into the Value Stack (scope: action).</td>
        </tr>
</table>

<h2 id="examples">Examples</h2>

<p>The following example retrieves the value of the getDays() method of the current object on the value stack and uses 
it to iterate over. The <code class="highlighter-rouge">&lt;s:property/&gt;</code> tag prints out the current value of the iterator.</p>

<pre><code class="language-jsp">&lt;s:iterator value="days"&gt;
  &lt;p&gt;day is: &lt;s:property/&gt;&lt;/p&gt;
&lt;/s:iterator&gt;
</code></pre>

<p>The following example uses a {@link Bean} tag and places it into the ActionContext. The iterator tag will retrieve that 
object from the <code class="highlighter-rouge">ActionContext</code> and then calls its <code class="highlighter-rouge">getDays()</code> method as above. The status attribute is also used 
to create an <code class="highlighter-rouge">IteratorStatus</code> object, which in this example, its <code class="highlighter-rouge">odd()</code> method is used to alternate row colours:</p>

<pre><code class="language-jsp">&lt;s:bean name="org.apache.struts2.example.IteratorExample" var="it"&gt;
  &lt;s:param name="day" value="'foo'"/&gt;
  &lt;s:param name="day" value="'bar'"/&gt;
&lt;/s:bean&gt;

&lt;table border="0" cellspacing="0" cellpadding="1"&gt;
&lt;tr&gt;
  &lt;th&gt;Days of the week&lt;/th&gt;
&lt;/tr&gt;

&lt;s:iterator value="#it.days" status="rowstatus"&gt;
  &lt;tr&gt;
    &lt;s:if test="#rowstatus.odd == true"&gt;
      &lt;td style="background: grey"&gt;&lt;s:property/&gt;&lt;/td&gt;
    &lt;/s:if&gt;
    &lt;s:else&gt;
      &lt;td&gt;&lt;s:property/&gt;&lt;/td&gt;
    &lt;/s:else&gt;
  &lt;/tr&gt;
&lt;/s:iterator&gt;
&lt;/table&gt;
</code></pre>

<p>The next example will further demonstrate the use of the status attribute, using a DAO obtained from the action class 
through OGNL, iterating over groups and their users (in a security context). The last() method indicates if the current 
object is the last available in the iteration, and if not, we need to separate the users using a comma:</p>

<pre><code class="language-jsp">&lt;s:iterator value="groupDao.groups" status="groupStatus"&gt;
    &lt;tr class="&lt;s:if test="#groupStatus.odd == true "&gt;odd&lt;/s:if&gt;&lt;s:else&gt;even&lt;/s:else&gt;"&gt;
        &lt;td&gt;&lt;s:property value="name" /&gt;&lt;/td&gt;
        &lt;td&gt;&lt;s:property value="description" /&gt;&lt;/td&gt;
        &lt;td&gt;
            &lt;s:iterator value="users" status="userStatus"&gt;
                &lt;s:property value="fullName" /&gt;&lt;s:if test="!#userStatus.last"&gt;,&lt;/s:if&gt;
            &lt;/s:iterator&gt;
        &lt;/td&gt;
    &lt;/tr&gt;
&lt;/s:iterator&gt;
</code></pre>

<p>The next example iterates over a an action collection and passes every iterator value to another action. The trick here 
lies in the use of the <code class="highlighter-rouge">[0]</code> operator. It takes the current iterator value and passes it on to the edit action. 
Using the <code class="highlighter-rouge">[0]</code> operator has the same effect as using <code class="highlighter-rouge">&lt;s:property /&gt;</code>. (The latter, however, does not work from inside 
the <code class="highlighter-rouge">param</code> tag).</p>

<pre><code class="language-jsp">&lt;s:action name="entries" var="entries"/&gt;
&lt;s:iterator value="#entries.entries" &gt;
    &lt;s:property value="name" /&gt;
    &lt;s:property /&gt;
    &lt;s:push value="..."&gt;
        &lt;s:action name="edit" var="edit" &gt;
            &lt;s:param name="entry" value="[0]" /&gt;
        &lt;/s:action&gt;
    &lt;/push&gt;
&lt;/s:iterator&gt;
</code></pre>

<p>A loop that iterates 5 times</p>

<pre><code class="language-jsp">&lt;s:iterator var="counter" begin="1" end="5" &gt;
   &lt;!-- current iteration value (1, ... 5) --&gt;
   &lt;s:property value="top" /&gt;
&lt;/s:iterator&gt;
</code></pre>

<p>Another way to create a simple loop, similar to JSTL’s <code class="highlighter-rouge">&lt;c:forEach begin="..." end="..." ...&gt;</code> is to use some  OGNL 
magic, which provides some under-the-covers magic to make 0-n loops trivial. This example also loops five times.</p>

<pre><code class="language-jsp">&lt;s:iterator status="stat" value="(5).{ #this }" &gt;
   &lt;s:property value="#stat.count" /&gt; &lt;!-- Note that "count" is 1-based, "index" is 0-based. --&gt;
&lt;/s:iterator&gt;
</code></pre>

<p>A loop that iterates over a partial list</p>

<pre><code class="language-jsp">&lt;s:iterator value="{1,2,3,4,5}" begin="2" end="4" &gt;
   &lt;!-- current iteration value (2,3,4) --&gt;
   &lt;s:property value="top" /&gt;
&lt;/s:iterator&gt;
</code></pre>

<p>Another example when we can access a variable out of the current loop context and where name clashes with the current</p>

<pre><code class="language-jsp">&lt;s:select name="location" size="1" list="locations" listKey="key"
  listValue="value" emptyOption="false" /&gt;

&lt;s:iterator var="item" value="items" status="rowstatus"&gt;
    &lt;s:url var="myUrl" action="itemDelete"&gt;
        &lt;s:param name="id" value="#item.id" /&gt;
        &lt;%-- Outer loop variable name [1]. as clash with item.location --%&gt;
        &lt;s:param name="location" value="[1].location" /&gt;
    &lt;/s:url&gt;
&lt;/s:iterator&gt;
</code></pre>

  </section>
</article>


<footer class="container">
  <div class="col-md-12">
    Copyright &copy; 2000-2018 <a href="http://www.apache.org/">The Apache Software Foundation </a>.
    All Rights Reserved.
  </div>
  <div class="col-md-12">
    Apache Struts, Struts, Apache, the Apache feather logo, and the Apache Struts project logos are
    trademarks of The Apache Software Foundation.
  </div>
  <div class="col-md-12">Logo and website design donated by <a href="https://softwaremill.com/">SoftwareMill</a>.</div>
</footer>

<script>!function (d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (!d.getElementById(id)) {
    js = d.createElement(s);
    js.id = id;
    js.src = "//platform.twitter.com/widgets.js";
    fjs.parentNode.insertBefore(js, fjs);
  }
}(document, "script", "twitter-wjs");</script>
<script src="https://apis.google.com/js/platform.js" async="async" defer="defer"></script>

<div id="fb-root"></div>

<script>(function (d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s);
  js.id = id;
  js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>


</body>
</html>
