[英]JSTL Break out of loop
我正在嘗試從我的朋友列表中檢索20條記錄,其名稱以“ J”開頭。 但是,我意識到JSTL沒有中斷。 因此,我嘗試使用計數來跟蹤記錄。 我遇到錯誤“ PWC6031:未終止的<c:set標簽”
<c:set var="count" value="0" scope="page">
<c:forEach items="${friendsList}" var="user">
<c:if test="${count < 20}">
<c:set var="string1" value="${fn:substring(user.name, 0, 1)}" />
<c:if test="${fn:startsWith(string1,'J')}">
<tr>
<td><c:out value="${user.name}" /></td>
<td><img src='https://graph.facebook.com/<c:out value="${user.id}"/>/picture' />
</td>
</tr>
</c:if>
</c:if>
<c:set var="count" value="${count + 1}" scope="page"/>
</c:forEach>
有沒有一種方法可以從count變量中檢索值? 如果不是,是否有其他方法可以使我擺脫困境,實現自己想要的目標? 謝謝。
解決了我遇到的錯誤后,我設法利用count變量列出了我想要的內容。 我在原始編碼中混合了“計數”編碼的順序。 這是我現在正在工作的內容,感謝大家的幫助!
<c:set var="count" value="0" scope="page" />
<c:forEach items="${friendsList}" var="user">
<c:if test="${count < 20}">
<c:set var="string1" value="${fn:substring(user.name, 0, 1)}" />
<c:if test="${fn:startsWith(string1,'J')}">
<tr>
<td><c:out value="${user.name}" /></td>
<td><img src='https://graph.facebook.com/<c:out value="${user.id}"/>/picture' /></td>
</tr>
<c:set var="count" value="${count + 1}" scope="page" />
</c:if>
</c:if>
</c:forEach>
您正在使它變得不必要的困難。 從最壞的情況到最好的情況,以下是比您的IMO都更好的替代解決方案:
c:forEach
的varStatus="loopStatus"
屬性,該屬性允許使用${loopStatus.index}
知道循環內迭代的索引。 這樣可以刪除您的count
屬性。 c:forEach
的end="19"
屬性 在控制器中(或在檢索用戶時甚至在SQL查詢中)准備列表,以確保列表最多只有20個元素:
users = users.subList(0, Math.min(users.size(), 20));
問題似乎與您的第一行有關。 您尚未終止c:set標記。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.