Java 관련/JSTL, EL

[JSTL] JSTL에서 break문 구현하기

Wings of Freedom 2021. 4. 5. 23:36

JSTL에서는 java와 같이 break문이 없다.

그리고 변수에 java 키워드를 입력하면 오류가 발생한다.

[Java Web/JSTL, EL] - [JSTL] javax.el.ELException: Failed to parse the expression라는 JSTL 오류

 

그럼 JSTL forEach문에서 break처리하는 방법에 대해 보도록하겠다.

아래와 같이 done_loop 변수를 선언한 후 if문에 넣어 놓는다.

이후 if문으로 done_loop 변수가 false에서 true로 set되면 loop가 종료된다.

            <%--break이라는 변수를 하나 선언해준다. default는 false--%>
            <c:set var="done_loop" value="false"/>
            <c:set var="i" value="1"></c:set>
            <c:forEach begin="1" end="${boardPage.totalPage}" step="1">

                <%-- 루프가 돌면서 break 문 체크--%>
                <c:if test="${done_loop ne true}">
                    <a href="/getListBoard.do?currentPageNo=${i}">[${i}]</a>
                    <c:set var="i" value="${i+1}"></c:set>

                    <%--만약 i==1가 되면 break 변수가 true로 set되면서 forEach문이 탈출된다.--%>
                    <c:if test="${i eq 11}">
                        ▶다음
                        <c:set var="done_loop" value="true"/>
                    </c:if>
                </c:if>
            </c:forEach>

<break 전>

<break 후>

 

출처 : namubada.net/189?category=778442