首先创建一个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>
原文:http://www.cnblogs.com/yezhenhan/archive/2011/12/21/2296069.html
http://blog.csdn.net/mr_walter/article/details/7930323