我们知道Struts2会将Action中的属性存放到ValueStack对象中,在通过Action转发的页面中,我们可以通过Struts2的标签<s:property/>来输出这些值,但是这样得到的值却仅限于输出显示,不能进行进一步的操作,那么我们应该怎样得到ValueStack中的值又能对它进行其他操作呢?
首先,我们需要了解Struts2是将Action中的属性全部封装在一个叫做struts.valueStack的请求属性中,然后我们就可以通过下面的代码来获取这些值了:
<%@ page import="com.opensymphony.xwork2.util.*"%>
<%
ValueStack vs = (ValueStack)request.getAttribute("struts.valueStack");
List someThing= (List)vs.findValue("someThing");
%>
someThing是Action中属性值的名称。