Loops JSTL中断循环

Loops JSTL中断循环,loops,jstl,Loops,Jstl,我正在尝试从我的朋友列表中检索20条以“J”开头的记录。然而,我意识到JSTL中没有中断。所以我试着用计数来记录这些记录。我遇到了错误'PWC6031:未终止 有没有一种方法可以从count变量中检索值?如果没有,是否有其他方法可以打破循环,实现我想要的?谢谢 在解决了我遇到的错误后,我设法利用count变量列出了我想要的内容。我把“计数”编码的顺序和我原来的编码弄混了。这是我现在拥有的,正在工作,谢谢大家的帮助 <c:set var="count" value="0" scope="p

我正在尝试从我的朋友列表中检索20条以“J”开头的记录。然而,我意识到JSTL中没有中断。所以我试着用计数来记录这些记录。我遇到了错误'PWC6031:未终止 有没有一种方法可以从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>

/图片'/>

问题似乎出在你的第一行。您尚未终止c:set标记。

问题似乎与您的第一行有关。您尚未终止c:set标记。

您使它变得非常困难。IMO,以下是比您更好的备选解决方案,从最坏到最好:

  • 使用
    c:forEach
    varStatus=“loopStatus”
    属性,该属性允许使用
    ${loopStatus.index}
    了解循环内迭代的索引。这允许删除您的
    count
    属性
  • 使用
    c:forEach的
    end=“19”
    属性
  • 在控制器中(甚至在检索用户时在SQL查询中)准备列表,以确保它最多只有20个元素:

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

  • 你把事情弄得太难了。IMO,以下是比您更好的备选解决方案,从最坏到最好:

  • 使用
    c:forEach
    varStatus=“loopStatus”
    属性,该属性允许使用
    ${loopStatus.index}
    了解循环内迭代的索引。这允许删除您的
    count
    属性
  • 使用
    c:forEach的
    end=“19”
    属性
  • 在控制器中(甚至在检索用户时在SQL查询中)准备列表,以确保它最多只有20个元素:

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