0

目的(根据 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>
4

1 回答 1

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; 
}
于 2013-03-11T13:12:52.463 回答