目的(根据forEach循环)是在表格内每3行设置一个背景颜色。 我下面的代码不起作用。 表格内部的所有数据都正确返回,但没有设置颜色。
<c:forEach var="coffee" items="${collection}">
<tr class="${status.count % 3 == 0 ? 'even' : 'oneven'}"
${status.count % 3 == 0 ? 'even' : 'oneven'} >
<td> ${coffee.brand} </td>
<td> ${coffee.type} </td>
<td> ${coffee.country} </td>
</tr>
</c:forEach>
我的CSS课程
tr.even { background: red; }
tr.odd { background: green; }
感谢您的帮助。
我找到了答案:
<h2>tabel with changing colors</h2>
<table border=1>
<tr>
<th>Brand</th>
<th>type</th>
<th>Country</th>
</tr>
<c:forEach var="coffees" items="${collection}" varStatus="status">
<tr class="${status.count % 3 == 0 ? 'even' : 'odd'}"
${status.count % 3 == 0 ? 'even' : 'odd'}>
<td>${coffees.brand}</td>
<td>${coffees.type}</td>
<td>${coffees.country}</td>
</tr>
</c:forEach>
</table>
答案 0 :(得分:2)
status
是未定义的属性。您需要使用varStatus
标记的forEach
属性来定义它:
<c:forEach var="coffee" items="${collection}" varStatus="status">
此外,color
用于设置前景(文本)颜色。不要设置背景颜色。并且您将该类应用于li
,因此它不适用于表行和单元格。 CSS应该是:
tr.even td {
background-color: #006699;
}
tr.oneven td {
background-color: #009999;
}