jsp struts标签迭代各种数据

首先创建一个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


原文地址:https://www.cnblogs.com/james1207/p/3423954.html