无法描述,就直接看我的代码和输出结果吧!!
在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
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
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标签:2
Hello
World
不知道为什么会出现这种情况,还望高人指点一下!!