Struts标签内显示标签

时间:2010-07-05 15:27:50

标签: struts2 displaytag

当我从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}]"

请帮帮我。如何解决这个问题。

3 个答案:

答案 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}"