从通过 Tiles 传递的值堆栈中检索字段

Retrieve field from value stack passed through Tiles

我将 Tiles 2.0 与 Struts2 一起使用,我想做的是从值堆栈中填充一个动作 bean,即

<s:property value="myBean.cod1"/> 

会填充类似 AS0000123

的内容

现在,如果在我的 tile 定义中有这样的东西会发生什么:

<definition name="fieldPurpose1" template="fieldPurposeTemplate.jsp">
    <put-attribute name="field" value="myBean.cod1"/>
</definition>

因此,在模板中我试图:

<s:set name="fieldSimple"><tiles:insertAttribute name="field"/></s:set>
<s:property value="%{#fieldSimple}"/>

但我得到的是文本 myBean.cod1 而不是填充的文本。 有什么想法吗?

值是键,您可以使用此键通过 OGNL index reference operator 查找另一个值。

<s:set name="fieldSimple"><tiles:insertAttribute name="field"/></s:set>
<s:property value="%{#attr[#fieldSimple]}"/>