zoukankan      html  css  js  c++  java
  • <s:iterator>各种遍历用法

    1.MapAction.java
    
    import java.util.ArrayList;  
    import java.util.HashMap;  
    import java.util.List;  
    import java.util.Map; 
    
    import com.opensymphony.xwork2.ActionSupport
    import com.model.Student
    public class MapAction extends ActionSupport  
    {  
     
        private Map<String,String> map;  
         
        private Map<String,Student> studentMap;  
          
        private Map<String,String[]> arrayMap;  
          
        private Map<String,List<Student>> listMap;  
          
    
        public String testMap()  
       {  
           map=new HashMap<String,String>();  
            map.put("1", "one");  
            map.put("2", "two");  
              
            studentMap=new HashMap<String,Student>();  
            studentMap.put("student1",new Student(new Long(1),"20034140201","张三1","男",25));  
            studentMap.put("student2",new Student(new Long(2),"20034140202","张三2","女",26));  
            studentMap.put("student3",new Student(new Long(3),"20034140202","张三3","男",27));  
             
            arrayMap=new HashMap<String,String[]>();  
            arrayMap.put("arr1", new String[]{"1","2003401","leejie","male","20"});  
            arrayMap.put("arr2", new String[]{"2","2003402","huanglie","male","25"});  
            arrayMap.put("arr3", new String[]{"3","2003403","lixiaoning","male","21"});  
              
          
            listMap=new HashMap<String,List<Student>>();  
              
            List<Student> list1=new ArrayList<Student>();  
           list1.add(new Student(new Long(1),"20034140201","张三1","男",25));  
            list1.add(new Student(new Long(2),"20034140202","张三2","男",25));  
            list1.add(new Student(new Long(3),"20034140203","张三3","男",25));  
            listMap.put("class1", list1);  
              
            List<Student> list2=new ArrayList<Student>();  
            list2.add(new Student(new Long(1),"20034140301","李四1","男",20));  
            list2.add(new Student(new Long(2),"20034140302","李四2","男",21));  
            list2.add(new Student(new Long(3),"20034140303","李四3","男",22));  
            list2.add(new Student(new Long(4),"20034140304","李四4","男",23));  
            listMap.put("class2", list2);  
              
             
             
              
            return SUCCESS;  
              
        }  
          
        public Map<String, String> getMap() {  
           return map;  
        }  
     
       public void setMap(Map<String, String> map) {  
            this.map = map;  
        }  
          
        public Map<String, Student> getStudentMap() {  
            return studentMap;  
        }  
    
        public void setStudentMap(Map<String, Student> studentMap) {  
            this.studentMap = studentMap;  
        }  
    
        public Map<String, String[]> getArrayMap() {  
           return arrayMap;  
       }  
     
     
        public void setArrayMap(Map<String, String[]> arrayMap) {  
            this.arrayMap = arrayMap;  
        }  
     
     
        public Map<String, List<Student>> getListMap() {  
            return listMap;  
        }  
     
        public void setListMap(Map<String, List<Student>> listMap) {  
            this.listMap = listMap;  
        }  
          
          
    } 
    
    2.testMap.jsp
    <%@ page contentType="text/html;charset=UTF-8" %>  
    <%@ taglib prefix="s" uri="/struts-tags" %>  
    <html>  
    <head>  
    <title>struts2中的map遍历总结</title>  
    </head>  
    <body>  
       <b>1.map中的value为String字符串</b><br>  
       <s:iterator value="map" id="column">  
       <s:property value="#column"/><br>  
       key: <s:property value="key"/><br>  
       value:<s:property value="value"/><br>  
       ******************************************<br>  
      </s:iterator>  
       
       
      <b>2.map中的value为Student对象</b>  
      <table border="1" width="50%"  cellspacing="0" cellpadding="0">  
        <tr>  
          <td>key=value</td>  
          <td>ID</td>  
          <td>num</td>  
          <td>name</td>  
          <td>sex</td>  
          <td>age</td>  
        </tr>  
        <s:iterator value="studentMap" id="column">  
        <tr>  
         <td><s:property value="#column"/></td>  
         <td><s:property value="value.id"/></td>  
         <td><s:property value="value.num"/></td>  
         <td><s:property value="value.name"/></td>  
         <td><s:property value="value.sex"/></td>  
         <td><s:property value="value.age"/></td>  
        </tr>  
        </s:iterator>  
      </table>  
      <p>  
        
        
      <b>3.map中的value为String数组</b>  
      <table border="1" width="50%" cellspacing="0" cellpadding="0">  
        <tr>  
          <td>key=value</td>  
          <td>ID</td>  
          <td>num</td>  
          <td>name</td>  
         <td>sex</td>  
          <td>age</td>  
        </tr>  
        <s:iterator value="arrayMap" id="column">  
        <tr>  
         <td><s:property value="#column"/></td>  
         <td><s:property value="value[0]"/></td>  
         <td><s:property value="value[1]"/></td>  
         <td><s:property value="value[2]"/></td>  
         <td><s:property value="value[3]"/></td>  
         <td><s:property value="value[4]"/></td>  
        </tr>  
        </s:iterator>  
      </table>  
      <p>  
      <b>4.map中的value为list集合</b>  
      <table border="1" width="50%"  cellspacing="0" cellpadding="0">  
        <tr>  
          <td>class</td>  
          <td>ID</td>  
          <td>num</td>  
          <td>name</td>  
          <td>sex</td>  
          <td>age</td>  
        </tr>  
        
       <1.<s:iterator value="listHashMap" id="listid">  
       <s:iterator value="#listid.value" id="listidsub">  
           <tr>  
                <td><s:property value="key"/></td>  
                <td><s:property value="id"/></td>  
               <td><s:property value="num"/></td>  
                <td><s:property value="name"/></td>  
                <td><s:property value="sex"/></td>  
               <td><s:property value="age"/></td>  
            </tr>  
        </s:iterator>  
    </s:iterator> 
    </table>  
        
        
    </body>  
    </html>
    4、普通属性
    public String execute(){
       username = "zhangsan";
       password = "123";
    }
    <s:property value="username"/><br>
       <s:property value="password"/><br>
    
    5、自定义对象
    public String execute(){
      userInfo = new UserInfo();
      userInfo.setUsername("hhh");
      userInfo.setPassword("111");
    }
    <s:property value="userInfo.username"/><br>
       <s:property value="userInfo.password"/><br>
    
    6、List(普通属性)
      public String execute(){
      list = new ArrayList<String>();
      list.add("aaa");
      list.add("bbb");
      list.add("ccc");
    }
    <s:iterator value="list" var="var">
        <s:property value="var"/><br>
       </s:iterator>
       或者:
       <s:iterator value="list">
        <s:property/><br>
       </s:iterator>
      
    6、List(自定义对象属性)
    public String execute(){
      list = new ArrayList<UserInfo>();
      UserInfo userInfo = new UserInfo();
      userInfo.setUsername("u1");
      userInfo.setPassword("p1");
      userInfo.setRoleInfo(new RoleInfo("r1"));
      list.add(userInfo);
      userInfo = new UserInfo();
      userInfo.setUsername("u2");
      userInfo.setPassword("p2");
      userInfo.setRoleInfo(new RoleInfo("r2"));
      list.add(userInfo);
    }
    <s:iterator value="list" var="var">
        <s:property value="#var.username"/>
        <s:property value="#var.password"/>
        <s:property value="#var.roleInfo.rolename"/><br>
    </s:iterator>
    或者:
    <s:iterator value="list">
        <s:property value="username"/>
        <s:property value="password"/>
        <s:property value="roleInfo.rolename"/><br>
    </s:iterator>
    
    7、数组(普通属性)
    public String execute(){
      strs = new String[2];
      strs[0] = "as";
      strs[1] = "asd";
    }
    <s:iterator value="strs">
        <s:property/><br>
       </s:iterator>
    或者:
    <s:iterator value="strs" var="var">
        <s:property value="var"/><br>
       </s:iterator>
      
    8、数组(自定义对象属性)
    public String execute(){
      strs = new UserInfo[2];
      UserInfo userInfo = new UserInfo();
      userInfo.setUsername("u11");
      userInfo.setPassword("11");
      strs[0] = userInfo;
      userInfo = new UserInfo();
      userInfo.setUsername("u22");
      userInfo.setPassword("22");
      strs[1] = userInfo;
    }
    <s:iterator value="strs">
        <s:property value="username"/>
        <s:property value="password"/><br>
       </s:iterator>
    或者:
    <s:iterator value="strs" var="var">
        <s:property value="#var.username"/>
        <s:property value="#var.password"/><br>
    </s:iterator>
    
    8、数组(自定义对象属性)
    public String execute(){
      strs = new UserInfo[2];
      UserInfo userInfo = new UserInfo();
      userInfo.setUsername("u11");
      userInfo.setPassword("11");
      userInfo.setRoleInfo(new RoleInfo("r11"));
      strs[0] = userInfo;
      userInfo = new UserInfo();
      userInfo.setUsername("u22");
      userInfo.setPassword("22");
      userInfo.setRoleInfo(new RoleInfo("r22"));
      strs[1] = userInfo;
    }
    <s:iterator value="strs" var="var">
        <s:property value="#var.username"/>
        <s:property value="#var.password"/>
        <s:property value="#var.roleInfo.rolename"/><br>
    </s:iterator>
    或者:
    <s:iterator value="strs">
        <s:property value="username"/>
        <s:property value="password"/>
        <s:property value="roleInfo.rolename"/><br>
    </s:iterator>
    
    8、Map(普通属性)
    public String execute(){
      map = new HashMap<String,String>();
      map.put("k1", "v1");
      map.put("k2", "v2");
    }
    <s:iterator value="map" var="var">
        <s:property value="#var.key"/>
        <s:property value="#var.value"/><br>
    </s:iterator>
    或者:
    <s:iterator value="map">
        <s:property value="key"/>
        <s:property value="value"/><br>
    </s:iterator>
    
    8、Map(自定义对象属性)
    public String execute(){
      map = new HashMap<String,UserInfo>();
      UserInfo userInfo = new UserInfo();
      userInfo.setUsername("u1");
      userInfo.setPassword("p1");
      userInfo.setRoleInfo(new RoleInfo("r1"));
      map.put("k1", userInfo);
      userInfo = new UserInfo();
      userInfo.setUsername("u2");
      userInfo.setPassword("p2");
      userInfo.setRoleInfo(new RoleInfo("r2"));
      map.put("k2", userInfo);
    }
    <s:iterator value="map" var="var">
        <s:property value="#var.key"/>
        <s:property value="#var.value.username"/>
        <s:property value="#var.value.password"/>
        <s:property value="#var.value.roleInfo.rolename"/><br>
    </s:iterator>
    或者
    <s:iterator value="map">
        <s:property value="key"/>
        <s:property value="value.username"/>
        <s:property value="value.password"/>
        <s:property value="value.roleInfo.rolename"/><br>
    </s:iterator>
    
    8、Map嵌套Map(自定义对象属性)
    public String execute(){
      map = new TreeMap<String,Map<String,UserInfo>>();
      Map<String,UserInfo> innerMap = new TreeMap<String,UserInfo>();
      UserInfo userInfo = new UserInfo();
      userInfo.setUsername("u1");
      userInfo.setPassword("p1");
      userInfo.setRoleInfo(new RoleInfo("r1"));
      userInfo = new UserInfo();
      userInfo.setUsername("u11");
      userInfo.setPassword("p11");
      userInfo.setRoleInfo(new RoleInfo("r11"));
      innerMap.put("k1", userInfo);
      innerMap.put("k11", userInfo);
      map.put("key1", innerMap);
      //////////////////////////
      innerMap = new TreeMap<String,UserInfo>();
      userInfo = new UserInfo();
      userInfo.setUsername("u2");
      userInfo.setPassword("p2");
      userInfo.setRoleInfo(new RoleInfo("r2"));
      userInfo = new UserInfo();
      userInfo.setUsername("u22");
      userInfo.setPassword("p22");
      userInfo.setRoleInfo(new RoleInfo("r22"));
      innerMap.put("k2", userInfo);
      innerMap.put("k22", userInfo);
      map.put("key2", innerMap);
    }
    <s:iterator value="map" var="var">
        <s:iterator value="value">
         <s:property value="#var.key"/>
         <s:property value="key"/>
         <s:property value="value.username"/>
         <s:property value="value.password"/>
         <s:property value="value.roleInfo.rolename"/><br>
        </s:iterator>
    </s:iterator>
  • 相关阅读:
    object c 基础语法
    Object-C 基础知识总结
    【POJ1475】Pushing Boxes-A*(或BFS?)
    【POJ1475】Pushing Boxes-A*(或BFS?)
    【POJ2286】The Rotation Game-迭代加深DFS+可行性剪枝
    【CodeVS1004】四子连棋-迭代加深搜索入门
    【CodeVS1004】四子连棋-迭代加深搜索入门
    【Poj2449】Remmarguts' Date-k短路(A*解法)
    【Poj2449】Remmarguts' Date-k短路(A*解法)
    【HDU4090】Gem and Prince-DFS+可行性剪枝
  • 原文地址:https://www.cnblogs.com/101key/p/3368593.html
Copyright © 2011-2022 走看看