我有一个bean beanName
和一个变量paramName
,其中包含要使用的属性的名称,以便:
<s:textfield name="%{'beanName.' + paramName}"/>
输出(给出
paramName == "year"
和beanName.getYear() == 1976
):<input type="text" name="beanName.year" value="1976" >
我应该如何使用
<s:property>
输出相同的属性值?我想那是:
<s:push value="beanName">
<s:property value="%{paramName}"/>
</s:push>
会做到这一点,但是它只写
paramName
值。 最佳答案
在使用paramName
从Bean中获取价值之前,您需要先对其进行评估。
为此使用方括号:
<s:property value="beanName[paramName]" />
OGNL首先使用此解析变量获取
paramName
的值,然后从beanName
获取值。