在春天有没有相当于struts形式的标签迭代器?

时间:2013-12-07 15:53:31

标签: java spring jsp struts2

在struts2中,我发现下面的标签在迭代集合时很有用。

<s:iterator value="rateList" var="rate" >

我想知道如果在SPRING中有相同的内容到目前为止,我搜索过我找不到一个(至少netbeans codeassist&amp; websearch没有显示)。

在我的struts项目中,我使用下面的代码在表格中显示数据......

`

<%if (i % 2 == 0) {%>
<tr><td> <s:property value="process"/></td><td><s:property value="state"/></td>
<td><s:property value="country"/></td><td><s:property value="vendorCost"/> <td><s:property value="listPrice"/></td>
</td><td><s:date name="lastUpdatedDate" format="dd-MM-yyyy" /></td>
<td><A HREF='updatePrice?id=<s:property value="id"/>'/>Update</A></td>
<td><A HREF='deactivatePrice?id=<s:property value="id"/>'/>Deactivate</A></td>
</tr> 

<%} else {%>
<tr class="alt"><td> <s:property value="process"/></td><td><s:property value="state"/></td>
<td><s:property value="country"/></td><td><s:property value="vendorCost"/></td> <td><s:property value="listPrice"/></td>
<td><s:date name="lastUpdatedDate" format="dd-MM-yyyy" /></td>
<td><A HREF='updatePrice?id=<s:property value="id"/>'/>Update</A></td>
<td><A HREF='deactivatePrice?id=<s:property value="id"/>'/>Deactivate</A></td>
</tr> ` 

1 个答案:

答案 0 :(得分:3)

Spring没有JSP标准标记库(JSTL)中已存在的标记:

<c:forEach var="rate" items="${rateList}">

</c:forEach>

请注意,绝不应在JSP中使用scriptlet。使用EL,JSTL和自定义标签(如Spring标签)。

要知道循环中的当前索引并根据索引的值设置CSS类,可以使用

<c:forEach var="rate" items="${rateList}" varStatus="loopStatus">
    <tr class="${loopStatus.index % 2 == 0 ? '' : 'alt'}">
        ...
    </tr>
</c:forEach>

请注意,CSS3完全能够将样式应用于表的奇数行,而无需为每个奇数行添加特定的类:

tr:nth-child(odd) > td 
    ...
}