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>