为什么 struts2 html table 多生成一个 <tr></tr>
Why struts2 html table generates one extra <tr></tr>
jsp 中的代码
<table>
<thead>
<tr>
<th>Code</th>
<th>Name</th>
<th>Continent</th>
<th>Independence Year</th>
<th>Head Of State</th>
<th>Capital</th>
<th>Added/Edited by</th>
<th>Time of Edit</th>
<th>Edit</th>
</tr>
</thead>
<tbody>
<s:iterator value="list">
<tr>
<td><s:property value="Code"/></td>
<td><s:property value="Name"/></td>
<td><s:property value="Continent"/></td>
<td><s:property value="IndepYear"/></td>
<td><s:property value="HeadOfState"/></td>
<td><s:property value="Capital"/></td>
<td><s:property value="editedbyuser"/></td>
<td><s:property value="editdatetime"/></td>
<td>
<s:a action="editworld">
edit<s:param name="Code" value="Code"/>
</s:a>
</td>
<tr>
</s:iterator>
</tbody>
</table>
生成的 HTML(仅一行)
<tr>
<td>ABW</td>
<td>Aruba</td>
<td>North America</td>
<td>Unknown</td>
<td>Beatrix</td>
<td>Oranjestad</td>
<td>Unedited</td>
<td>Unedited</td>
<td>
<a href="/Struts2Login/editworld.action?Code=ABW">edit</a>
</td>
</tr>
<tr> </tr>
在上面的最后一行中,<tr></tr>
是一个额外的行。我无法理解这个 generated.Each 是如何在每个实际 [=26= 之后生成这个 <tr></tr>
的] 帮帮我。
第一次关闭
<tr>
</s:iterator>
最后打开的地方应该关闭
试试这个
<s:if test="%{list!=null"}>
<s:iterator value="list">
<tr>
<td><s:property value="Code"/></td>
<td><s:property value="Name"/></td>
<td><s:property value="Continent"/></td>
<td><s:property value="IndepYear"/></td>
<td><s:property value="HeadOfState"/></td>
<td><s:property value="Capital"/></td>
<td><s:property value="editedbyuser"/></td>
<td><s:property value="editdatetime"/></td>
<td>
<s:a action="editworld">
edit<s:param name="Code" value="Code"/>
</s:a>
</td>
<tr>
</s:iterator>
</s:if>
jsp 中的代码
<table>
<thead>
<tr>
<th>Code</th>
<th>Name</th>
<th>Continent</th>
<th>Independence Year</th>
<th>Head Of State</th>
<th>Capital</th>
<th>Added/Edited by</th>
<th>Time of Edit</th>
<th>Edit</th>
</tr>
</thead>
<tbody>
<s:iterator value="list">
<tr>
<td><s:property value="Code"/></td>
<td><s:property value="Name"/></td>
<td><s:property value="Continent"/></td>
<td><s:property value="IndepYear"/></td>
<td><s:property value="HeadOfState"/></td>
<td><s:property value="Capital"/></td>
<td><s:property value="editedbyuser"/></td>
<td><s:property value="editdatetime"/></td>
<td>
<s:a action="editworld">
edit<s:param name="Code" value="Code"/>
</s:a>
</td>
<tr>
</s:iterator>
</tbody>
</table>
生成的 HTML(仅一行)
<tr>
<td>ABW</td>
<td>Aruba</td>
<td>North America</td>
<td>Unknown</td>
<td>Beatrix</td>
<td>Oranjestad</td>
<td>Unedited</td>
<td>Unedited</td>
<td>
<a href="/Struts2Login/editworld.action?Code=ABW">edit</a>
</td>
</tr>
<tr> </tr>
在上面的最后一行中,<tr></tr>
是一个额外的行。我无法理解这个 generated.Each 是如何在每个实际 [=26= 之后生成这个 <tr></tr>
的] 帮帮我。
第一次关闭
<tr>
</s:iterator>
最后打开的地方应该关闭
试试这个
<s:if test="%{list!=null"}>
<s:iterator value="list">
<tr>
<td><s:property value="Code"/></td>
<td><s:property value="Name"/></td>
<td><s:property value="Continent"/></td>
<td><s:property value="IndepYear"/></td>
<td><s:property value="HeadOfState"/></td>
<td><s:property value="Capital"/></td>
<td><s:property value="editedbyuser"/></td>
<td><s:property value="editdatetime"/></td>
<td>
<s:a action="editworld">
edit<s:param name="Code" value="Code"/>
</s:a>
</td>
<tr>
</s:iterator>
</s:if>