표현언어 (EL - expression Language)
표현언어는 JSP2.0 버전부터 지원되는 자바만의 특징으로 JSP 페이지에서 어플리케이션 데이터와 자바빈즈에 좀 더 쉽게 접근하기 위한 용도로 사용됩니다. 또한, 표현언어는 JSP 페이지에서 자바 코드를 없애기 위한 노력의 한 형태입니다.
초창기의 표현언어는 JSTL(JSP Standard Tag Library)에 상당히 종속적인 면을 가지고 있었는데 JSP2.0 스펙에 포함되면서, 표현언어를 컨테이너가 해석할 수 있게 되어, JSTL과 커스텀 액션 태그, 템플릿 텍스트와 같이 자바 코드를 사용해야 했던 모든 곳에서 표현언어를 사용할 수 있게 되었습니다. 또한, 표현언어 자체를 JSP2.0 스펙 이상부터 자체 지원하기 때문에 다른 설치를 필요하지 않고 바로 사용할 수 있습니다.
만약, JSP 페이지에서 표현언어로 '${member}'를 사용했다면 웹 컨테이너는 페이지, 요청, 세션, 애플리케이션 영역에 해당하는 부분에서 member 객체를 찾습니다. 만약 meber 객체가 없다면 null 값을 반환합니다. 객체가 없을 경우 null을 반환하는 것은 JSP 페이지 구성에 상당한 자유로움을 제공합니다.
서블릿에서 요청 스코프에 member라는 값을 저장해 놓고 표현하는 JSP 페이지에서 표현언어를 사용하여 값을 출력하는 예제입니다. 아래와 같이 서블릿에서 member 변수에 홍길동이라는 값을 지정해 놓습니다.
이를 받아 표현하는 JSP 페이지에서 표현언어를 사용하면 다음과 같습니다.
${member}
즉, JSP 페이지에서 request.getParameter("member") 라는 코드가 ${member} 로 줄어드는 것을 확인할 수 있습니다. 또한, EL을 사용하면 쉽게 텍스트를 조합하거나, 속성의 값으로 사용할 수 있습니다.
이렇게도 가능하며, 속성에 텍스트를 조합할 수도 있습니다.
<some:tag value="${member}login" />
위와 같이 사용도 가능합니다.
이처럼 표현언어를 사용하면 JSP 페이지 영역에 저장된 객체 및 자바빈즈라도 표현언어의 변수로 사용할 수 있으며, 변수를 사용하는 것 뿐만 아니라 변수끼리의 연산도 가능하며, JSP 의 내장 객체를 지원합니다.
'자바(Java) > JAVA 2EE' 카테고리의 다른 글
JSP의 스크립트 요소란 (0) | 2009.08.25 |
---|---|
JSP 페이지에 URL 접근 거부 걸기 (0) | 2009.08.10 |
페이지 파라미터 확인 후 null 일때 기본값 지정하기 (0) | 2009.08.05 |
인크루드 액션태그와 인크루드 디렉티브의 차이점 (0) | 2009.06.15 |
로그인 페이지 (0) | 2009.01.15 |