读书人

Struts2操作List的一个迷惑的现象

发布时间: 2012-10-10 13:58:11 作者: rapoo

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标签:2
Struts2标签: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表达式的,至于方法二机制问题导致这个问题。

读书人网 >软件架构设计

热点推荐