Struts2 - 属性 标签在另一个 属性 内
Struts2 - property tag inside another property
我有一个遍历 class 对象列表的迭代器。
<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 实例,以便您(如果需要)可以从 inner[ 中访问 outer status
=26=]迭代。
<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>
还要考虑使用更有意义的名称...调用列表 list 和对象 value 可能会混淆申请。
<body>
<div class="main">
<div id="tabs-bottom" class="tabs">
<div class="menu">
<ul class="ui-tabs-nav">
<s:iterator value="%{#session.TableColumnMap}" status="liststatus">
<s:if test="#liststatus.first">
<li class="activeTab" id=<s:property value="#liststatus.count"/>><a href="#"><s:property value="key"/></a></li>
</s:if>
<s:else>
<li id=<s:property value="#liststatus.count"/>><a href="#"><s:property value="key"/></a></li>
</s:else>
</s:iterator>
</ul>
</div><br><br>
<div class="contents">
<s:iterator value="%{#session.TableColumnMap}" status="liststatus">
<s:iterator value="key">
<s:if test="#liststatus.first">
<div class="ui-tabs-panel" id="a<s:property value="#liststatus.count"/>" >
</s:if>
<s:else>
<div class="ui-tabs-panel" id="a<s:property value="#liststatus.count"/>" style="display:none;">
</s:else>
<table class="u-full-width demo" id="table<s:property value="#liststatus.count"/>">
<thead>
<tr>
<s:iterator value="value">
<th><s:property/></th>
</s:iterator>
</tr>
</thead>
<tbody id="fin_tbody">
<s:iterator value="%{#session.acquiredlist}" status="acliststatus" id="acquiredpara">
<tr data-id="<s:property value="#liststatus.count"/>" id="<s:property value="#liststatus.count"/>" title="insert">
<s:iterator value="value" status="liststatus" id="columnvaluevar">
<s:property value='%{#columnvaluevar}'/>
<s:property value="<s:property/>"/>
<td data-field="<s:property value="key"/>_<s:property/>"><input type="text" value=%{<s:property/>}/><s:text name="%{<s:property/>}"/>
</td>
</s:iterator>
</tr>
</s:iterator>
</tbody>
</table><br><br>
</div>
</s:iterator>
</s:iterator>
</div>
</div>
</div>
</body>
我有一个遍历 class 对象列表的迭代器。
<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 实例,以便您(如果需要)可以从 inner[ 中访问 outer status
=26=]迭代。
<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>
还要考虑使用更有意义的名称...调用列表 list 和对象 value 可能会混淆申请。
<body>
<div class="main">
<div id="tabs-bottom" class="tabs">
<div class="menu">
<ul class="ui-tabs-nav">
<s:iterator value="%{#session.TableColumnMap}" status="liststatus">
<s:if test="#liststatus.first">
<li class="activeTab" id=<s:property value="#liststatus.count"/>><a href="#"><s:property value="key"/></a></li>
</s:if>
<s:else>
<li id=<s:property value="#liststatus.count"/>><a href="#"><s:property value="key"/></a></li>
</s:else>
</s:iterator>
</ul>
</div><br><br>
<div class="contents">
<s:iterator value="%{#session.TableColumnMap}" status="liststatus">
<s:iterator value="key">
<s:if test="#liststatus.first">
<div class="ui-tabs-panel" id="a<s:property value="#liststatus.count"/>" >
</s:if>
<s:else>
<div class="ui-tabs-panel" id="a<s:property value="#liststatus.count"/>" style="display:none;">
</s:else>
<table class="u-full-width demo" id="table<s:property value="#liststatus.count"/>">
<thead>
<tr>
<s:iterator value="value">
<th><s:property/></th>
</s:iterator>
</tr>
</thead>
<tbody id="fin_tbody">
<s:iterator value="%{#session.acquiredlist}" status="acliststatus" id="acquiredpara">
<tr data-id="<s:property value="#liststatus.count"/>" id="<s:property value="#liststatus.count"/>" title="insert">
<s:iterator value="value" status="liststatus" id="columnvaluevar">
<s:property value='%{#columnvaluevar}'/>
<s:property value="<s:property/>"/>
<td data-field="<s:property value="key"/>_<s:property/>"><input type="text" value=%{<s:property/>}/><s:text name="%{<s:property/>}"/>
</td>
</s:iterator>
</tr>
</s:iterator>
</tbody>
</table><br><br>
</div>
</s:iterator>
</s:iterator>
</div>
</div>
</div>
</body>