JSTL продолжить, прорваться внутрь foreach - PullRequest
21 голосов
/ 28 сентября 2011

Я хочу вставить «продолжить» внутри foreach в JSTL. Пожалуйста, дайте мне знать, если есть способ достичь этого.

<c:forEach 
  var="List"
  items="${requestScope.DetailList}" 
  varStatus="counter"
  begin="0">

  <c:if test="${List.someType == 'aaa' || 'AAA'}">
    <<<continue>>>
  </c:if>

Я хочу вставить «продолжить» в условие if.

Ответы [ 3 ]

28 голосов
/ 28 сентября 2011

Нет такой вещи.Просто сделайте обратное для контента, который вы на самом деле хотите отобразить.Так что не делайте

<c:forEach items="${requestScope.DetailList}" var="list">
    <c:if test="${list.someType eq 'aaa' or list.someType eq 'AAA'}">
        <<<continue>>>
    </c:if>
    <p>someType is not aaa or AAA</p>
</c:forEach>

, а скорее

<c:forEach items="${requestScope.DetailList}" var="list">
    <c:if test="${not (list.someType eq 'aaa' or list.someType eq 'AAA')}">
        <p>someType is not aaa or AAA</p>
    </c:if>
</c:forEach>

или

<c:forEach items="${requestScope.DetailList}" var="list">
    <c:if test="${list.someType ne 'aaa' and list.someType ne 'AAA'}">
        <p>someType is not aaa or AAA</p>
    </c:if>
</c:forEach>

Обратите внимание, что я исправил синтаксическую ошибку EL и в вашем коде.

3 голосов
/ 18 августа 2017

Я решил это, используя Set в конце моего исполняемого кода и внутри цикла

<c:set var="continueExecuting" scope="request" value="false"/>

затем я использовал эту переменную, чтобы пропустить выполнение кода в следующей итерации, используя

<c:if test="${continueExecuting}">

Вы можете установить его обратно в true в любое время ...

<c:set var="continueExecuting" scope="request" value="true"/>

Подробнее об этом теге: Основной тег JSTL

наслаждаться!

2 голосов
/ 21 апреля 2016

Или вы можете использовать EL выбрать заявление

<c:forEach 
      var="List"
      items="${requestScope.DetailList}" 
      varStatus="counter"
      begin="0">

      <c:choose>
         <c:when test="${List.someType == 'aaa' || 'AAA'}">
           <!-- continue -->
         </c:when>
         <c:otherwise>
            Do something...     
         </c:otherwise>
      <c:choose>
    </c:forEach>
...