평범한 연구소

[Javascript] JSTL(c:if, c:forEach...) 에서 continue 처리하기 본문

Pront/Javascript

[Javascript] JSTL(c:if, c:forEach...) 에서 continue 처리하기

soyeonisgood 2022. 11. 20. 14:42

JSTL에선 break, continue 를 지원하지 않는다.

그렇다면 어떻게 해야할까?

 

<c:set>으로 변수 하나를 선언하고, break 처럼 기능하도록 처리하면 된다.

continue는 건너뛸 조건을 상단에 작성하고 그 조건문 내부를 비운다. 그 후 기능시킬 조건문을 하단에 작성하고 내부에 실행할 코드를 작성하면 된다.

 

내가 원하는 continue 조건 처리는 

댓글이 숨김 상태일 때는 로그인 ID가 댓글 작성자 본인이거나, 직원 계정 일 때 댓글이 보여야한다.

댓글이 표시 상태일 때는 모두에게 보여야한다.

따라서 댓글이 숨김 상태일 때는 로그인 ID가 댓글 작성자 본인이 아니면서 직원 계정도 아닐 때 continue가 되어야한다. 이 조건이 아닐 때 댓글이 보이면 되므로 아래 코드처럼 작성하면 된다.

<c:forEach var="vo" items="${listReply}">

	<c:choose> 
		<c:when test="${vo.showReply == -1 && (sessionScope.member.userId != vo.userId && sessionScope.member.membership < 50)}">
			<!-- continue -->
		</c:when>
        
		<c:otherwise>
    			<!-- 실행할 코드 -->
      		</c:otherwise>
    </c:choose>

</c:forEach>