Struts2操作List的一个不解的现象

无法描述,就直接看我的代码和输出结果吧!!


在List进行操作时,发现如下问题:

 

   页面代码:

  <body>
  
  	Struts2标签:<s:property value="list.size"/><br/>
  	Struts2标签:<s:property value="list.size()"/><br/>
  	<s:iterator value="list">
		<s:property/><br/>
  	</s:iterator>
  	
  </body>
 

方法一:

 

public class ListAction {

	private List<String> list;
	
	public String execute(){
		list = new ArrayList<String>();
		list.add("Hello");
		list.add("World");
		return "OK";
	}
	public List<String> getList() {
		return list;
	}
}

 

输出结果:

Struts2标签:2
Struts2标签:2
Hello
World
 

方法二:

 

   Action的代码:

 

public class ListAction {
	
	public String execute(){
		List<String> list; 
		list = new ArrayList<String>();
		list.add("Hello");
		list.add("World");
		ActionContext.getContext().put("list", list);
		return "OK";
	}

}

输出结果:

 

Struts2标签:
Struts2标签:
Hello
World

 

 奇怪的事情发生了。只输出了一半!!

 

 

方法三:

 

  <body>
  
  	Struts2标签:<s:property value="#request.list.size"/><br/>
  	Struts2标签:<s:property value="#request.list.size()"/><br/>
  	<s:iterator value="#request.list">
		<s:property/><br/>
  	</s:iterator>
  	
  </body>
 
public class ListAction {

	public String execute(){
		List<String> list;
		list = new ArrayList<String>();
		list.add("Hello");
		list.add("World");
		ActionContext.getContext().put("list", list);
		return "OK";
	}

}

输出结果:

Struts2标签:2
Struts2标签:2
Hello
World
 

不知道为什么会出现这种情况,还望高人指点一下!!

 

 

 

 

 

 

 

你可能感兴趣的:(struts2)