표현 언어(EL, Expression Language)란?
ELExpression Language의 약자로 직역하면 표현 언어입니다. EL은 JSP에서 자바코드와 JSP 스크립트 코드를 더욱 더 간결하게 하기 위해 등장하였습니다. EL을 이용하면 여러줄에 걸친 자바코드를 간결하게 표현 가능하게 해줍니다.

예를 들어 기존의 JSP 표현식(<%= =%>)을 사용하여 요청객체로부터 특정 값을 꺼내와 출력하는 경우의 코드는 아래와 같습니다.
<%
   String id = request.getParameter("id");
%>  
 
<%= id %>
cs

그런데 위의 코드를 EL로 바꾸면 아래와 같이 바뀝니다.
${param.id}
cs


이렇게 불필요한 코드를 매우 줄여주기 때문에 JSP 페이지의 전체적인 코드가 간결해지고 자바코드가 줄어듦으로써 디자인적 요소(HTML, CSS)와 자바코드를 서로 구분하기 쉬워지는 장점이 있습니다.




표현 언어의 등장 배경
JSP/Servlet에는 여러가지 기술들이 있습니다. Servlet부터 JSP, 액션태그, JSTL, EL 등 너무 많은데 이러한 기술들은 서로를 보완하기 위해 차례대로 기술이 발전함과 동시에 등장하였습니다.

처음에는 Servlet만을 사용하다가 Java 코드에 HTML 코드가 마구 섞여 있는 Servlet의 특성상 디자이너와 서버 개발자간의 협업이 어려운점과 유지보수 측면에서 너무 좋지 못한 점으로 인해 JSP가 등장했습니다.

그러다가 JSP에서도 HTML과 JSP 스크립트에서의 Java 코드가 마구 섞이게 되자 이를 극복하고자 Java 코드 보다는 HTML과 비슷하게 보이는 액션태그가 등장하였고 액션태그의 부족한 기능을 보완하기 위해 커스텀태그, JSTL, EL이 등장한 것입니다. 정리하자면 다음과 같습니다.

  1. 최초에는 Servlet 위주의 개발. Servlet 코드 안에 디자인적 요소(HTML, CSS)가 덕지덕지 들어가있는 형태로 디자이너와의 협업 및 유지보수에 좋지 못했음.
  2. JSP라는 스크립트 기반의 기술이 등장하여 Servlet과는 반대로 디자인적 요소(HTML, CSS)에 Java 코드가 섞여있는 느낌의 형태를 가짐.
  3. JSP도 코드가 길어질수록 디자인요소와 Java 코드가 복잡하게 섞이게 되어 간결화할 필요가 있어짐.
  4. HTML과 같은 태그 기반의 액션태그가 등장함.
  5. 액션태그의 기능을 직접 개발하여 사용할 수 있는 커스텀 태그가 등장함.
  6. 커스텀태그가 많이 쓰이자 이를 공통모듈로 묶은 JSTLEL이 등장하고 JSTL 1.0에 EL이 포함됨.
  7. JSTL에서만 동작하던 ELJSP 2.0부터 JSP 내부스펙으로 포함됨.
  8. JSP2.3을 기준으로 EL(표현언어)의 버전은 3.0임.







표현 언어(EL)의 기능 요약
EL을 이용하면 다음과 같은 기능들을 수행할 수 있습니다.
  • JSP에서 사용가능한 기본객체 중 scope와 관련된 네가지 객체(pageContext, request, session, application)의 속성을 사용 가능합니다.
  • HTTP 요청 헤더나 쿠키값을 사용할 수 있습니다.
  • 수치, 관계, 논리 연산이 가능합니다.
  • 메서드를 호출할 수 있습니다.
  • JSP2.3부터 람다 표현이 가능합니다.
  • JSP2.3부터 스트림 API를 통한 컬렉션 처리가 가능합니다.



결론
이번글에서는 표현 언어에 대한 간략한 개념과 등장 배경을 알아보았습니다. 다음글부터 표현언어를 사용하는 기본방법과 기능들에 대해 알아보겠습니다.



다음글

연관글


블로그 이미지

도로락

IT, 프로그래밍, 컴퓨터 활용 정보 등을 위한 블로그

,