프로그래밍/JSP

EL(Expression Language)이란? (+Scope, Attribute란?)

HP_Factory 2021. 1. 30. 08:00

JSP 파일에 자바형식의 코드를 사용하면 불편한 점을 한방에 해결할 수 있는 EL(Expression Language)를 포스팅하도록 하겠습니다.

 

EL의 개념은 해석 그대로 표현 언어를 이해하고 속성 값들을 편리하게 출력하기 위해 제공된 언어 입니다.

Ex)
JSP 2.0 버전에서 새로 추가된 스크립트 언어인 EL(Expression Language)은 <%=abc%>${abc}로 간단하게 사용할 수 있게 하였습니다.

 

 

EL(Expression Language)

사용목적

<%=%>, out.println()과 같은 자바코드를 더 이상 사용하지 않고 좀 더 간편하게 출력을 지원하기 위한 도구입니다. 배열이나 컬렉션에서도 사용되고, JavaBean의 프로퍼티에서도 사용됩니다.

 

 

문법

Attribute형식에서는 '<%=cnt+1%>'를 쓰지않고 '%{cnt+1}'로 쓰고 Parameter형식에서는 '${param.abc}'으로 씁니다.

 

여기서 cnt는 자바에서는 변수 이름이고, EL 식에서는 Attribute의 이름으로 해석되는데, 값을 찾을때 Attribute는 작은 Scope에서 큰 Scope로 찾습니다.

(Page -> request -> session -> application)

 

 

여기서 Scope란?

 

Scope란?

[4가지 Scope]

  1. Application : 웹 어플리케이션이 시작되고 종료될 때까지 변수가 유지되는 경우 사용합니다.
  2. Session : 웹 브라우저 별로 변수가 관리되는 경우 사용합니다.
  3. Request : http요청을 WAS가 받아서 웹 브라우저에게 응답할 때까지 변수가 유지되는 경우 사용합니다.
  4. Page : 페이지 내에서 지역변수처럼 사용합니다.

* 영역(Scope) 객체값이라고 생각하시면 이해하시기 편하실겁니다.

- 자세한 설명은 추후 포스팅 해드리도록 하겠습니다! -

 

 

 

Attribute란?

Attribute란 메소드를 통해 저장되고 관리되는 데이터를 말합니다.

 

Attribute 예시

 

내장 객체

내장 객체

예제

paramValues, headerValues 사용법

JSTL과 EL이 같이 사용되는 예제

실제로  제가 JSTL과 EL을 같이 코딩해서 사용하는 예제입니다.