显示标签内的Struts标签
问题描述:
当我从struts标签引用显示标签引用时出现错误。显示标签内的Struts标签
<display:table name="lstEntities" uid="prty">
<display:column property="propertyType.propertyTypeName"
titleKey="common.propertytype" />
<display:column property="propertyName" titleKey="common.property" />
<display:column titleKey="common.concern" >
<s:select list="${prty.propertyConcern}" listKey="prtyCrnId" listValue="concern.concernText"></s:select>
</display:column>
</display:table>
错误:
Custom tag attribute list cannot be runtime expression. value: "[${prty.propertyConcern}]"
请帮助我。如何解决这个问题。
答
此类表达式在早期版本的Struts2中允许,但在struts 2.0.10之后关闭以解析a security issue。
您应该能够访问使用这种替代语法Struts标签的“PRTY”对象:
<s:select list="#attr.prty.propertyConcern" listKey="prtyCrnId" listValue="concern.concernText"></s:select>
答
修改fieldValue="#attr.resultTable1.id"
到fieldValue="%{#attr.resultTable1.id}"
解决我的问题。
即:
<display:table name="libraryList" requestURI="showCopyTravelType.action" sort="external"
defaultsort="1" pagesize="10" uid="resultTable1" partialList="true" size="totalRecordCount">
<display:column title="Select">
<s:checkbox id="copiedFlag" name="copiedFlag" fieldValue="%{#attr.resultTable1.id}" />
</display:column>
<display:column property="code"/>
<display:column property="name" />
<display:column property="description" />
<display:footer>
<s:submit action="copyTravelType" />
<s:submit action="searchTravelType"/>
</display:footer>
</display:table>
答
<s:select list="#attr.prty.propertyConcern" listKey="prtyCrnId" listValue="concern.concernText"></s:select>
如果我们想那么参数应该通过类似的列表:
list="%{#attr.prty.propertyConcern}"