我有两个列表selectedFields
,其中包含标题(例如:id
,username
,firstname
)和custDetails
,其中包含客户详细信息(例如: :id
,username
,firstname
,birthdate
,address
等)。我想在这里做的只打印custDetails
中<td>
中selectedFields
中包含<td>John</td>
的数据。如果selectedFields包含用户名,那么只有用户名值会显示为<th>username</th>
}和标题将像<table>
<thead>
<!-- Selected Fields contains id,username -->
<s:iterator value="selectedFields">
<th><s:property/></th>
</s:iterator>
</thead>
<tbody>
<!-- custDetails contains id,username,firstname,lastname,address,city,state etc. -->
<s:iterator value="custDetails" status="custDetails">
<tr>
<s:iterator value="selectedFields" status="selectedFields">
<!-- Display only id,username columns from custDetails since selectedFields contains these values -->
<td><s:property value="<s:property />"/></td>
</s:iterator>
</tr>
</s:iterator>
</tbody>
</table>
。
{{1}}
答案 0 :(得分:0)
您可以使用if
和else
标记来选择要显示的列。除非您不想迭代对象属性。
<s:iterator var="sf" value="selectedFields">
<!-- Display only id,username columns from custDetails since selectedFields contains these values -->
<s:if test="#sf == 'id'">
<td><s:property value="id"/></td>
</s:if>
<s:else>
<s:if test="#sf == 'username'">
<td><s:property value="username"/></td>
</s:if>
</s:else>
</s:iterator>