2013-01-20 82 views
1

迭代次數我有如何獲得嵌套的foreach JSTL

<c:if test="${!empty viewObjects}"> 
    <table border="0" cellpadding="0" cellspacing="0"> 
    <c:forEach items="${viewObjects}" var="relations"> 
     <c:forEach items="${relations.value}" var="role" varStatus="status"> 
      <c:set var="subcount" value="${status.count + 1 }"/> 
      <tr class="color<c:out value="${subcount%2}"/>"> 
       <td>${relations.key}</td> 
       <td>${role.name}</td> 
      </tr> 
     </c:forEach> 
    </c:forEach> 
    </table> 
</c:if> 

一個TreeMap我怎麼能有隻+1 subcount增加嵌套的foreach內的每一個迭代? 從我經歷的「狀態」開始,當第一個foreach迭代時,這樣也會影響子數,並且我不會得到總迭代。

回答

4

你會做同樣的方式,你會用Java做的:使用最外層循環之外初始化計數器變量:

int counter = 0; 
for (...) { 
    for (...) { 
     count++; 
    } 
} 

所以JSTL,它會成爲

<c:set var="counter" value="0"/> 
<c:forEach ...> 
    <c:forEach ...> 
     <c:set var="counter" value="${counter + 1}"/> 
    </c:forEach> 
</c:forEach>