首先创建一个User对象

User user=new User();

user.setUserName("张三");

user.setAge(30);

User user1=new User();

user1.setUserName("李四");

user1.setAge(32);

一、迭代List数据

List list=new ArrayList();

1、list中放User对象

list.add(user);list.add(user1);//list中有两条数据

jsp页面:

 <s:iterator id="li" value="list">

  姓名:<s:property value="#list.userName"/><br />

  年龄:<s:property value="#list.age"/>

 </s:iterator>

2、list中放String字符串

 list.add("百度");

 list.add("http://www.baidu.com");

jsp页面:

<s:iterator value="list" status="s" id="li">

List中的数据:<s:property />

是否是奇数行,是返回true,否则返回false:<s:property value="#s.odd"/>

是否是偶数行:<s:property value="#s.even"/>

当前行数(返回当前迭代了几个元素):<s:property value="#s.count"/>

list的下标:<s:property value="#s.index"/>

是否第一行:<s:property value="#s.first"/>

是否最后一行:<s:property value="#s.last"/>

当前行数取模:<s:property value="#s.modules(int)"/>

</s:iterator>

由于iterator  status对象并不是ognl的根对象因此访问需要加上 #访问

二、迭代String数组

String[] str={"1","2","3"};

jsp页面:

<s:iterator value="str" status="s">  

<s:iterator value="str[#s.index]">  <!--#s.index:获取下标 -->

<s:property value="str[#s.index][0]"/> <!--直接获取为0的数据,也就是数组中的第一个元素 -->

<s:property />  <!--遍历数组每一个元素-->

</s:iterator>      

</s:iterator> 

三、迭代Map

Map textMap=new HashMap();

1、map中放String字符串

textMap.put("1","happy");

textMap.put("2","metohappy");

jsp页面:

<s:iterator value="textMap" id="textMap"> 

key:${textMap.key}

value:${textMap.value}

还可以写成:

key: <s:property value="key"/><br> 

     value:<s:property value="value"/><br> 

</s:iterator>

2、map中放User对象

textMap.put("1",user);

textMap.put("2",user1);

jsp页面:

 <s:iterator value="textMap" id="textMap">  

     姓名:<s:property value="value.userName"/> <br />

     年龄:<s:property value="value.age"/><br />

  </s:iterator> 

3、map中放String数组

String[] baidu={"baidu","http://www.baidu.com"};

String[] sogou={"sogou","http://www.sogou.com"};

textMap.put("1",baidu);

textMap.put("2",sogou);

jsp页面:

<s:iterator value="textMap" id="textMap"> 

     <s:property value="value[0]"/> 

     <s:property value="value[1]"/> 

   </s:iterator> 

4、map中放List

List list=new ArrayList();

List list1=new ArrayList();

①、list中放User对象

list.add(user);list.add(user1);//list中有两条数据

list1.add(user);list1.add(user1);//list1中有两条数据

textMap.put("1",list);

textMap.put("2",list1);

   jsp页面:

   <s:iterator value="textMap" id="textMap"> 

    <s:set name="total" value="#textMap.value.size"/> 

    <s:iterator value="#textMap.value" status="s"> 

       姓名:<s:property value="userName"/>

       年龄:<s:property value="age"/>

    </s:iterator> 

      </s:iterator> 

②、List中放String字符串

list.add("百度");

  list.add("http://www.baidu.com");

  list1.add("搜狗");

  list1.add("http://www.sogou.com");

  textMap.put("1",list);

textMap.put("2",list1);

jsp页面:

<s:iterator value="textMap" id="textMap">    

<s:set name="total" value="#textMap.value.size"/>    

<s:iterator value="#textMap.value" status="s" id="li"> 

textMap的键:${textMap.key} 

list中的值:<s:property />           

</s:iterator>        

</s:iterator>