如何使用JSP替换HTML表行颜色?

Ste*_*Kuo 29 html css jsp jstl

如何使用JSP替换HTML表格行颜色?

我的CSS看起来像:

tr.odd {background-color: #EEDDEE}
tr.even {background-color: #EEEEDD}
Run Code Online (Sandbox Code Playgroud)

我想用来<c:forEach>迭代一个集合.

<c:forEach items="${element}" var="myCollection">
  <tr>
    <td><c:out value="${element.field}"/></td>
    ...
  </tr>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

我需要一个int count变量或boolean odd/even变量来跟踪行.然后我的<tr>标签看起来像:

<tr class="odd or even depending on the row">
Run Code Online (Sandbox Code Playgroud)

Jon*_*nan 89

使用标记varStatus上的属性forEach,JSTL将javax.servlet.jsp.jstl.core.LoopTagStatus在您指定的变量名称中为您管理一个实例.

然后,您可以使用三元运算符轻松输出相应的类名:

<c:forEach items="${element}" var="myCollection" varStatus="loopStatus">
  <tr class="${loopStatus.index % 2 == 0 ? 'even' : 'odd'}">
    ...
  </tr>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

这篇来自IBM的JSTL入门文章提供了有关core标记库及其为您提供的更多信息.