값들을 설정한 다음 EL 코드로 출력하는 코드를 작성해보고자 합니다. 우선 Scriptlet 을 사용해서 자바 코드를 작성하겠습니다. page scope 를 사용하겠습니다. page scope 의 객체는 pageContext 였습니다. 값을 맡길 때는 setAttribute 를 사용했었습니다. request scope 도 사용해보겠습니다. JSP 에서 request 는 내장 객체가 있기 때문에 바로 request.setAttribute 하면 됩니다. session scope 도 사용해보겠습니다. JSP 에서 sessoin 도 내장 객체가 있기 때문에 바로 session.setAttribute 를 사용하면 됩니다. application scope 도 사용해보겠습니다. application 도 JSP 에서 내장 객체가 있기 때문에 바로 applicatoin.setAttribute 하시면 됩니다. 이렇게 page, request, session, application scope 에 각각 값을 담아 놓았습니다. 이제 담겨진 값들을 EL 표현 언어를 활용하여 꺼내서 사용해보겠습니다.
4가지의 scope 에 담긴 값들을 EL 표현식을 사용하여 꺼내서 사용해보았습니다. 위에서는 스코프별로 이름이 겹치는 경우를 예방하기 위해서 pageScope.p1 이라는 방식으로 아주 명확하게 썼지만 만약 scope 를 여러 개 쓰지 않았거나, 이름이 겹치지 않는 것이 확실하다면 ${p1 } 이라는 더 간단한 방식으로 표기할 수도 있습니다.
값들이 잘 출력되는 것을 확인할 수 있습니다.
EL 실습 2 { 연산자 }
이번에는 el02.jsp 를 만들어보겠습니다. el02.jsp 파일에서는 EL 표현식을 활용한 다양한 연산들을 작성해보겠습니다. 여기서 / 슬러시는 HTML의 예약어로 인해 인식이 잘 안될 수도 있으니 div 라는 표현으로 대신 작성하였습니다. 웹 브라우저를 통해 접속을 해보니 잘 동작하는 것을 확인할 수 있습니다. 이번에는 값을 하나 더 설정한 다음 코드를 이어서 작성해 보겠습니다. m 이라는 논리 값을 담고 있는 값을 저장하였고 논리 연산을 수행할 수 있는 코드를 작성했습니다. 실행된 결과를 보니 논리 값도 잘 출력되고 있는 것을 확인할 수 있습니다.
EL 실습 3 { 페이지 설정 isELIgnored }
이전에 EL을 무시하는 페이지 속성으로 지정할 수 있는 것이 Jsp 에서는 isELIgnored 라는 것이 있다고 했었습니다. 코드를 작성해보고 실제로 어떻게 되는지 확인해보겠습니다. <%@ 로 페이지 속성 설정을 위한 준비를 하고 page isELIgnored = "true" 로 설정하였습니다. 기본적으로 해당 속성의 값은 fault 입니다. 지금은 EL 을 무시하기 위해서 true 로 설정하였습니다. 이렇게 설정하고 웹 브라우저를 새로고침해보겠습니다. 이렇게 했더니 EL 이 무시되고 문자열처럼 그냥 다 출력된 것을 확인할 수 있습니다.