使用Struts2中的标签来显示集合中的数据时非常常见的应用,之前对于两种显示方式总有些糊里糊涂的今天做了个比较并且写了个例子来验证。

1.Action中的代码

public class AjaxLoginAction extends ActionSupport {

private String result;  

private String loginName;  

private String password;  

List<User> list;

 

 

public List<User> getList() {

return list;

}

 

public void setList(List<User> list) {

this.list = list;

}

 

public String getResult() {  

       return result;  

   }  

 

public void setResult(String result) {  

 this.result = result;  

}  

 

public String getLoginName() {  

 return loginName;  

}  

 

public void setLoginName(String loginName) {  

 this.loginName = loginName;  

}  

 

public String getPassword() {  

 return password;  

}  

 

public void setPassword(String password) {  

 this.password = password;  

}  

    

public String execute() {   

      try{  

      User user1=new User();

      user1.setUserName("张三");

      user1.setPassword("123");

      user1.setAge("22");

      

      User user2=new User();

      user2.setUserName("李四");

      user2.setPassword("456");

      user2.setAge("23");

     this.list=new ArrayList<User>();

      this.list.add(user1);

      this.list.add(user2);

      }catch(Exception e){  

       System.out.println(e);  

      }  

      

      return "success";        

 }  

}

2.显示页面代码
<body>
  第一种:使用Struts值栈中的数据
    <table align="center" width="60%">
    <tr><td>用户名</td>  <td>密码</td>  <td>年龄</td></tr>
    <S:iterator value="list">
    <tr><td><S:property value="userName"/></td> 
    <td><S:property value="password"/></td> 
    <td><S:property value="age"/></td></tr>
    </S:iterator>
   
    </table>
    第二种:使用actioncontext中的数据
    <table align="center" width="60%">
    <tr><td>用户名</td>  <td>密码</td>  <td>年龄</td></tr>
    <S:iterator value="list" var="user"><!--注意这里的user前面没有#-->
    <tr><td><S:property value="#user.userName"/></td> <!--注意这里的user前面有#-->
    <td><S:property value="#user.password"/></td>  <!--注意这里的user前面有#-->
    <td><S:property value="#user.age"/></td></tr> <!--注意这里的user前面有#-->
    </S:iterator>
    </table>
  </body>