프로그래밍/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란?
[4가지 Scope]
- Application : 웹 어플리케이션이 시작되고 종료될 때까지 변수가 유지되는 경우 사용합니다.
- Session : 웹 브라우저 별로 변수가 관리되는 경우 사용합니다.
- Request : http요청을 WAS가 받아서 웹 브라우저에게 응답할 때까지 변수가 유지되는 경우 사용합니다.
- Page : 페이지 내에서 지역변수처럼 사용합니다.
* 영역(Scope) 객체값이라고 생각하시면 이해하시기 편하실겁니다.
- 자세한 설명은 추후 포스팅 해드리도록 하겠습니다! -
Attribute란?
Attribute란 메소드를 통해 저장되고 관리되는 데이터를 말합니다.
내장 객체
예제
paramValues, headerValues 사용법
JSTL과 EL이 같이 사용되는 예제