Jsp:使用 c:if 无效

Jsp: Using c:if not working

我想要一个 table,它将在一个 td 中打印前 10 个项目,在第二个 td 中打印接下来的 20 个项目。但是下面的代码不会这样做。相反,它取 item[0] 和 item[10] 等等,并将它们放在 table 中,但其他项目放在 table 之外。

<table><tr>    
<c:forEach var="item" items="${itemList}" varStatus="i">
<c:if test="${i.index % 10 == 0}">
  <td>
</c:if>
<a>${item}</a><br>
<c:if test="${i.index % 10 == 0}">
  </td>
</c:if>
</c:forEach>
</tr></table>

您必须使用 i.index < 10。现在您正在使用模块 (%),它的作用是除以 10 并返回余数

<table> <tr><br> <c:forEach var="item" items="${itemList}" varStatus="i"> <c:if test="${i.index < 10}"> <td> <a>${item}</a><br> </td> </c:如果> <td> <a>${item}</a><br> </td> </c:forEach> </tr> </table>

第一个和第二个测试都为真,收盘</td>与开盘<td>同时放置。

第二个 c:if 应该使用 9 而不是 0。

<c:if test="${i.index % 10 == 9}">
  </td>
</c:if>