본문 바로가기

Wanna be a Programmer/Servlet & JSP

Servlet & JSP day14 - EL(Expression Language)

EL(Expression Language) - 표현식 언어

 

☞ JSP 2.0에서 새로 추가된 스크립트 언어

기존의 expression tag의 업그레이드 버전

주요기능

◎ 리터럴 데이터 출력

각종 연산자를 제공하여 연산결과 출력을 지원

4개의 속성 scope(page, request, session, application)에 binding된 Attribute(객체)나 그 Attribute의 property 값 출력

JSTL과 연동

 

구문

${출력내용} - ${10}, ${"안녕"}, ${10+20}

${value1.value2[.value3 ..]}

- 특정 객체의 property 접근 할 때 사용

${value1[value2]}

- 컬렉션(list 계열)의 값을 출력할 때 주로 사용

- value1에는 EL 내장객체나 attribute 명이 들어와야 한다.

- 구문을 실행 도중  null이 나오면 더이상 진행하지 않고 출력도 하지 않는다.

- 예)

${requestScope.mto.id}

${cto.address.zipcode}

${sessionScope.list[0]}

- JSP의 script(스크립트 릿, 표현식, 선언식, 지시자) 태그에는 사용 못한다.

- action 태그내에는 사용 가능

<jsp:include pages="${dir}/a.jsp"/>

 

EL의 내장 객체(기본 객체)

 EL은 11개의 내장객체를 제공하여 별다른 추가 코드 없이 특정 객체에 접근하여 사용할 수 있도록 한다.

- JSP의 내장객체와는 다르다.

- EL 내장객체 중 pageContext를 제외하고는 모두 name-value 형태의 값을 관리한다.

- ${} 내에서만 사용가능 하며 첫번째 값으로만 올 수 있다.

 

Scope와 관련된 내장객체

- pageScope : pageScope에 접근

- requestScope : request Scope에 접근

- sessionScope : session Scope에 접근

- applicationScope : application Scope에 접근

 

요청파라미터 관련 내장객체

- param : 요청파마리터 조회시 사용(하나의 이름 하나의 값이 넘어온 경우)

- paramValues : 요청 파라미터 조회시 사용(하나의 이름으로 여러값이 넘어온 경우)

 

헤더 값 관련

- header

- headerValues

 

 쿠키 값 조회

- cookie : ${cookie.이름.value}

 초기 파라미터 조회(context-param으로 설정된 것)

- initParam

 

  PageContext 객체 관련 내장객체

- pageContext

 

el_test1.jsp

☞ folder : WebContent/el

 

소스보기

 

el_test2.jsp

☞ folder : WebContent/el

☞ expression language를 통해 CustomerDTO 객체의 getter 메소드로부터 값을 가져오는 것이 아니라 bind된 CustomerDTO객체의 값을 간편하게 조회할 수 있다.

 

소스보기

 

el_test3.jsp

☞ folder : WebContent/el

 

소스보기

 

req.jsp

☞ folder : WebContent/el

 

소스보기

 

el_test4.jsp

☞ folder : WebContent/el

 

소스보기

 

 

조회결과