我有一个迭代器,它迭代类对象的列表。
<s:iterator value="list" status="status" id="id">
<tr data-id="<s:property value="#status.count"/>"
id="<s:property value="#status.count"/>"
title="insert">
<s:iterator value="value" status="status">
<s:property value="%{<s:property/>}"/>
<td data-field="<s:property value="key"/>_<s:property/>">
<s:text name="%{<s:property/>}"/></td>
</s:iterator>
</tr>
</s:iterator>
是否可以从 Struts2 中的另一个属性标签获取属性值?
最佳答案
有多种方法可以做到这一点。
最简单的是将当前迭代元素的实例插入值堆栈。您正在为第一个带有 id
的迭代器执行此操作(已弃用:应使用 var
),您需要为第二个迭代器执行此操作。
还可以考虑更改 IteratorStatus 实例的名称,以便您可以(如果需要)从内部迭代中访问外部状态
。
<s:iterator value="list" status="status1" var="currentElement1">
<tr data-id="<s:property value="#status1.count"/>"
id="<s:property value="#status1.count"/>"
title="insert">
<s:iterator value="#currentElement1.value" status="status2" var="currentElement2">
<s:property value="%{#currentElement2}"/>
<td data-field="<s:property value="#currentElement1.key"/>_<s:property/>">
<s:text name="%{#currentElement2}"/></td>
</s:iterator>
</tr>
</s:iterator>
还要考虑使用更有意义的名称...调用列表列表和对象值可能会与应用程序的增长混淆。
关于jsp - Struts2 - 另一个属性内的属性标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34179443/