[JSTL] javax.el.ELException: Failed to parse the expression라는 JSTL 오류

2021. 4. 5. 23:34 Java 관련/JSTL, EL

아래와 같이 break 처리하기 위해 문장을 넣었더니

javax.el.ELException: Failed to parse the expression

오류가 발생했다.

 

이유는 톰캣7이후부터 new, class, static 같은 java키워드는 사용하지 못하도록 변경되었다고한다.

필자의 원인은 break이라는 키워드였다.

            <%--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>

 

 

해당 키워드를 done_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>

 

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