<!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.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>
