gpt4 book ai didi

loops - JSTL 跳出循环

转载 作者:行者123 更新时间:2023-12-02 01:09:53 26 4
gpt4 key购买 nike

我正在尝试从我的 friend 列表中检索 20 条名字以“J”开头的记录。但是,我意识到 JSTL 没有中断。所以我试着用一个计数来跟踪记录。我遇到错误“PWC6031:未终止

<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 变量中检索值?如果没有,是否有另一种方法可以让我跳出循环来实现我想要的?谢谢。

解决我遇到的错误后,我设法利用计数变量列出了我想要的内容。我在我的原始编码中混淆了我的“计数”编码的顺序。这是我现在所拥有的,正在运行,感谢大家的帮助!

<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,从最差到最好:

  1. 使用 c:forEachvarStatus="loopStatus" 属性,它允许使用 ${loopStatus.index} 了解循环内迭代的索引。这允许删除您的 count 属性。
  2. 使用 c:forEachend="19" 属性
  3. 在您的 Controller 中准备列表(或者甚至在您的 SQL 查询中,当检索用户时)以确保它最多只有 20 个元素:

    users = users.subList(0, Math.min(users.size(), 20));

关于loops - JSTL 跳出循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18548147/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com