我将尝试简化我的示例,以便于理解问题。
我循环遍历一个父数组的数组。我希望能够在循环子数组时识别父数组元素发生变化的点。
让我们说父数组是$ {bets},子数组是$ {tips}。我有3个投注,每个投注由3个提示组成。我希望能够识别循环中$ {bet.id}更改的点。
我可以使用$ {tip.bet.id}从tip元素访问$ {bet.id}
代码如下所示:
<c:forEach var="tip" items="${sortedTips}" varStatus="loop">
tip ${loop.index} - ${tip.bet.id}
</c:forEach>
输出如下:
我希望能够在每个新$ {bet.id}之间添加内容,所以我想实现以下目标:
如果有帮助,我已经找到了一种方法,可以在每次下注的顶部做到这一点:
<c:set var="lastBetId" value="" />
<c:forEach var="tip" items="${sortedTips}" varStatus="loop">
<c:if test="${tip.bet.id != lastBetId}">
Additional Piece of content <br />
</c:if>
<c:set var="lastBetId" value="${tip.bet.id}" />
tip ${loop.index} - ${tip.bet.id}
</c:forEach>
结果是:
但我无法弄清楚如何在每次下注的底部插入此内容。
答案 0 :(得分:0)
你需要内循环,就像这样
<c:set var="num" value="1" />
<c:forEach var="bet" items="${bets}" varStatus="loop">
<c:forEach var="tip" items="${bet}" varStatus="loopInner">
tip <c:out value="${num}" /> - ${tip.id}
<c:set var="num" value="${num + 1}"/>
</c:forEach>
<!-- This is the place for additional content -->
</c:forEach>
答案 1 :(得分:0)
您是否尝试过添加此行
<c:if test="${tip.bet.id != lastBetId}">
Additional Piece of content <br />
以下
tip ${loop.index} - ${tip.bet.id}
并删除
<c:set var="lastBetId" value="" />
看起来像这样
<c:forEach var="tip" items="${sortedTips}" varStatus="loop">
tip ${loop.index} - ${tip.bet.id}
<c:set var="lastBetId" value="${tip.bet.id}" />
<c:if test="${tip.bet.id != lastBetId}">
Additional Piece of content <br />
</c:if>
</c:forEach>