我想通过访问struts2值堆栈中的属性来使titleKey
属性参数化。所以,我想做这样的事情:
<display:table name="myListOfObjects" id="myId" requestURI="/myAction.action" pagesize="10">
<display:column property="myProperty" titleKey="my.internationalyzed.i18n.key.myProperty.<s:property value='anotherObject.aProperty'/>" />
...
如您所见,我希望使用
在我的操作中将属性访问到公开的对象中<s:property value='anotherObject.aProperty'/>
并将值放入titleKey元素。
如果我这样做,结果是一个表格列,其中包含未解析的"my.internationalyzed.i18n.key.myProperty."
字符串作为标题。换句话说,s:property标签不会在display:column元素中解释。
但是,如果我把
<s:property value='anotherObject.aProperty'/>
在display:table元素之外,它被正确解析并且结果值显示在页面上,因此该属性被正确公开和定价。 你知道如何从display:column元素中访问一个动作中公开的属性吗?
答案 0 :(得分:0)
您可以在非struts标记内使用JSP EL表达式,因此查看请求范围时的表达式将要求请求公开值堆栈。例如
<display:column property="myProperty" titleKey="my.internationalyzed.i18n.key.myProperty.${anotherObject.aProperty}" />