Struts 2如何在valuestack上引用具有动态名称的值

时间:2011-10-19 15:48:58

标签: struts2 ognl

假设struts 2的valuestack中有一个值;当我们编写jsp代码时,我们不知道该值的确切变量名称是什么,但我们只知道该值的变量名称保存在另一个变量名称中,例如“XXX”。

问题是如何通过使用“XXX”来获取价值,我试试这个,但它没有用。

<s:property value="${XXX}"/>

1 个答案:

答案 0 :(得分:0)

该操作会封送视图的数据,因此它应该进行处理以获取所需的数据。从它的声音来看,听起来这个动作可以将适当的数据收集到地图中。

然而,有一些奇怪的情况,你可能有一个。但在解决之前,如果你只有变量的名称,那么可以假设真正的变量是?它是否在值堆栈中(如果是这样,是什么阻止您直接访问它)?如果它不在值堆栈上,则需要启用静态方法评估并创建适当的静态方法,因为您只提供了变量的名称,并假设它是java bean的属性,那么您将需要使用反射或apache beanutils。

一般来说,最好在视图的操作中获得所需的内容。

另外要在你的jsp中设置一个你知道struts2 set标签的值(这可能不是你想要的,但它有一个小概率,所以我把它包括在内)?请参阅:http://struts.apache.org/2.2.3.1/docs/set.html