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

Struts2 Struts 2如何在valuestack上引用具有动态名称的值,struts2,ognl,Struts2,Ognl,假设struts 2的valuestack中有一个值;当我们编写jsp时,我们不知道这个值的确切变量名是什么,但我们只知道这个值的变量名保存在另一个变量名中,比如“XXX” 问题是如何通过使用“XXX”获得值,我尝试了这个方法,但它不起作用 <s:property value="${XXX}"/> 操作会封送视图的数据,因此它应该进行处理以获取所需的数据。从声音上看,这项行动似乎可以将适当的数据收集到地图中 然而,有一些奇怪的情况,你可能有一个。但是在解决这个问题之前,如果你只知道

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

问题是如何通过使用“XXX”获得值,我尝试了这个方法,但它不起作用

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

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

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

总的来说,最好在行动中获得你的观点所需要的东西


另外,要在jsp中设置一个值,您知道struts2 set标记(这可能不是您想要的,但很可能是这样,所以我将其包括在内)?请参阅:

是否没有办法重构您的操作,以便首先标准化变量的保存方式?这将是一个更简单的解决方案。