JSP의 새로운 문법
익스프레션 언어 |
|
익스프레션이란 식이라는 의미이다. 식이라는것은 y=x+1처럼 연산자(+)와 피연산자(x,y)로 이루어진것을 의미한다.
익스프레션 언어란 ${cnt+1} 와 같이 표현하며 cnt는 어떤 자바 변수가 아니라 attribute이다.
기존 JSP의 <%=cnt+1%>로 나타내는 익스프레션 문법 과는 다르다. 이곳에서의 cnt는 자바 변수를 의미한다.
즉, 익스프레션 언어란 식으로 표현된 언어라는 뜻이다.
기존 JSP 에서는 Attribute를 다음과 같은 방법으로 가져왔었다.
<%= request.getAttribute("RESULT") %>
하지만 이 JSP는 HTML내에 포함되기 때문에 디자이너도 이 파일을 보게 되는데, 디자이너는 코드를 볼줄 모르기 때문에 저 구문이 쉽게 읽혀지지않으며 혼란을 줄 수 있다.
그렇기 때문에 새롭게 JSP에 추가된 문법이 바로 익스프레션 언어이다. 다음과 같이 표현한다
${RESULT}
이렇게 표현하니까 디자이너들도 이것이 무엇을 의미하는건지 쉽게 파악 할 수 있게 되었다.
<%= request.getAttribute("RESULT") %> -> 기존 JSP 의 expression 문법
${RESULT} -> 새롭게 추가된 JSP의 expression 언어
하지만 익스프레션 언어로는 복잡한 로직을 짜는게 힘들다. 아래에 나열된 정도의 간단한 정도의 연산만 할 수 있다.
${cnt + 100} , ${m:sqrt(100)} -> Math클래스의 static sqrt메소드
어차피 요즘 개발 트렌드는 복잡한 로직은 서블릿에서 처리하며 JSP에서는 서블릿에서 처리한 값을 출력하기 위해서 존재하기 때문에 익스프레션 언어로도 충분하다.