当我从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}]"
请帮帮我。如何解决这个问题。
答案 0 :(得分:2)
这些表达式在早期版本的Struts2中被允许,但在struts 2.0.10之后被关闭以解析a security issue。
您应该能够使用以下替代语法访问struts标记中的“prty”对象:
<s:select list="#attr.prty.propertyConcern" listKey="prtyCrnId" listValue="concern.concernText"></s:select>
答案 1 :(得分:0)
修改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>
答案 2 :(得分:-2)
<s:select list="#attr.prty.propertyConcern" listKey="prtyCrnId" listValue="concern.concernText"></s:select>
如果我们想要一个列表,那么参数应该像:
一样传递list="%{#attr.prty.propertyConcern}"