Struts 2 Iterator tag example
Download It – Struts2-Iterator-tag-Example.zip
Struts 2 Iterator tag is used to iterate over a value, which can be any of java.util.Collection or java.util.Iterator. In this tutorials, you will create a list variable, use Iterator tag to loop over it and get the iterator status with IteratorStatus.
1. Action
An Action class with a List property , which contains variety of delicious “KFC combo meals”.
IteratorKFCAction
package com.mkyong.common.action; import java.util.ArrayList; import java.util.List; import com.opensymphony.xwork2.ActionSupport; public class IteratorKFCAction extends ActionSupport{ private List<String> comboMeals; public List<String> getComboMeals() { return comboMeals; } public void setComboMeals(List<String> comboMeals) { this.comboMeals = comboMeals; } public String execute() { comboMeals = new ArrayList<String>(); comboMeals.add("Snack Plate"); comboMeals.add("Dinner Plate"); comboMeals.add("Colonel Chicken Rice Combo"); comboMeals.add("Colonel Burger"); comboMeals.add("O.R. Fillet Burger"); comboMeals.add("Zinger Burger"); return SUCCESS; } }
2. Iterator example
A JSP page to show the use of Iterator tag to loop over the “KFC comboMeals” List. In Iterator tag, it contains a “status” attribute, which is used to declared a name for IteratorStatus class.
The IteratorStatus class is used to get information about the status of the iteration. Supported properties are index, count, first, last, odd, even and etc..Make sure you visit this IteratorStatus documentation to know more details of it.
<%@ taglib prefix="s" uri="/struts-tags" %> <html> <head> </head> <body> <h1>Struts 2 Iterator tag example</h1> <h3>Simple Iterator</h3> <ol> <s:iterator value="comboMeals"> <li><s:property /></li> </s:iterator> </ol> <h3>Iterator with IteratorStatus</h3> <table> <s:iterator value="comboMeals" status="comboMealsStatus"> <tr> <s:if test="#comboMealsStatus.even == true"> <td style="background: #CCCCCC"><s:property/></td> </s:if> <s:elseif test="#comboMealsStatus.first == true"> <td><s:property/> (This is first value) </td> </s:elseif> <s:else> <td><s:property/></td> </s:else> </tr> </s:iterator> </table> </body> </html>
3. struts.xml
Link it ~
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.devMode" value="true" /> <package name="default" namespace="/" extends="struts-default"> <action name="iteratorKFCAction" class="com.mkyong.common.action.IteratorKFCAction" > <result name="success">pages/iterator.jsp</result> </action> </package> </struts>
4. Demo
http://localhost:8080/Struts2Example/iteratorKFCAction.action


Hello Mkyong,
In the iterator.jsp page you did not add the struts form tag. that’s why the output not coming. please add this tag to the iterator.jsp page
the below is the correct version
now anyone can get the output, its working fine
Struts 2 Iterator tag example
Simple Iterator
Iterator with IteratorStatus
Hello sir, I could not get the output, what is the problem
hello MkYong
I go the below output only, What is the problem, why data not coming?
Struts 2 Iterator tag example
Simple Iterator
Iterator with IteratorStatus
hi, i m traying to iterat a lsit of object in my jsp i use this
<s:iterator value="hotelfound" var="hot"> <tr> <td> <s:property value="%{hot.hoName}"/></td> </tr> </s:iterator>my model object contain other object
and i get the list from MYSQL databases via an action strust2 and hibernate , spring
but it doesn’t work any help
Thank you it was very useful…………… Joseph (SCJP6)
Dear sir
i am using struts2 and i have a problem regarding to struts2
problem:-I got data from mysql database to html table using iterator tag
its working good for once.if i execute same action class again then repeated
data add in same table.plz give me solution
comboMeals.size();
this is not working. what is this non sense thing is that those are not working….. this is bullshit!!
Nonsense this is Working!..
I just get the below output..
Struts 2 Iterator tag example
Simple Iterator
Iterator with IteratorStatus
I am not getting any data ?? do you what the issue…
I just copy pasted the above example
hi mkyong !!
useful article..do u have any struts 1.2 jsp iterator tag example..as i m a beginner,i m little bit struggling in this combination ..thanks
Arun.
shutup !..
Very useful tuts!
But i would need the same from an javabean’s attribute (as list of course) implemeting the modeldriven?
Thks