我有一个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
值。
答案 0 :(得分:1)
在使用paramName
获取bean的值之前,您需要首先对其进行评估。
使用方括号:
<s:property value="beanName[paramName]" />
OGNL首先获得paramName
的值,然后使用此解析变量从beanName
获取值。