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;}}
?
输出结果:
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";}}输出结果:
?
<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标签:2Struts2标签:2
Hello
World?
不知道为什么会出现这种情况,还望高人指点一下!!
?
?
?
?
?
?
?
1 楼 qingwengang 2010-05-01 这与Struts2的数据存储机制有关,具体的我也不太清楚呃。。。。 2 楼 xiaolongfeixiang 2010-05-01 qingwengang 写道这与Struts2的数据存储机制有关,具体的我也不太清楚呃。。。。谢谢,等有时间了,研究下Struts2的源码 3 楼 gallon00 2011-05-31 据说 list.size 是通过get方法获得,而#request是从上下文中去 4 楼 helloxyz123 2011-07-28 OGNL的问题, 方法一list放在值栈, 方法三直接用#request去找,也符合规则,方法二是不符合OGNL表达式的,至于方法二机制问题导致这个问题。