显示标签内的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}"