EL (Expression language) 란?
EL은 표현을 위한 언어로 JSP 스크립트의 표현식을 대신하여 속성 값을 쉽게 출력하도록 고안된 Language 입니다.
EL은 값이 없는 변수 null에 대해 좀 더 관대하고 데이터 형 변환을 자동으로 해주는데 이러한 특징은 질의 문자열을 처리하는데 주요하게 작용합니다.
배열이나 컬렉션 뿐만아니라 JavaBean의 프로퍼티에도 사용됩니다.
EL 문법
구문
EL 은 ${ }내에 표현식으로 표현 합니다.
EL 자동으로 형변환을 하기 때문에 아래의 경우 처럼 기존의 스크립트릿을 사용하는 방법 보다 더 편리하게 사용할 수 있습니다.
<%= ((User)request.getAttribute("user")).getName()%> // 스크립트릿
${user.name} // EL
스크립트릿의 경우 자바에서의 객체를 불러오는 형식이라면 EL의 경우는 Attribute의 이름을 찾아오기 때문에 이것이 가능해 집니다.
Attribute의 탐색순서는 다음과 같습니다.
page → request → session → application
(작은 scope에서 큰 scope 로 탐색)
EL 내장객체
Category | Identifier | Type | Description |
JSP | pageContext | Java Bean | 현재 페이지의 프로세싱과 상응하는 PageContext Instance |
범위 (scope) |
pageScope | Map | page scope에 저장된 객체 접근 |
requestScope | Map | request scope에 저장된 객체접근 | |
sessionScope | Map | session scope에 저장된 객체접근 | |
applicationScope | Map | application scope에 저장된 객체 접근 | |
요청 매개변수 |
param | Map | 파라미터값 받아올 때 (1개의 결과값) |
paramValues | Map | 파라미터값 배열로 받아올 때 (여러개의 결과값) |
|
요청 헤더 | header | Map | 헤더값 받아올 때 (1개의 결과값) |
headerValues | Map | 헤더값 배열로 받아올 때 (여러개의 결과값) |
|
쿠키 | cookie | Map | 쿠키값 조회 |
초기화 매개변수 |
initParam | Map | 초기 파라미터 조회 |
EL의 연산자
EL의 연산자는 대부분 java와 동일합니다.
- 산술
- +, -, *, /, %
- 관계형
- ==, !=, <, >, <=, >=
- 3항 연산자
- 조건 ? 값1 : 값2
- 논리
- &&, ||, !
- 타당성 검사
- empty
- [] 연산자
- ${user["name"]} 의 형태로 사용
- dot 연산자
- ${user.name} 의 형태로 사용
'Java > JSP' 카테고리의 다른 글
HTTP Cookie (0) | 2023.09.19 |
---|---|
MVC (0) | 2023.09.19 |
JSP (Java Server Page) (0) | 2023.09.18 |
서블릿 (Servlet) (0) | 2023.09.14 |
EL (Expression language) 란?
EL은 표현을 위한 언어로 JSP 스크립트의 표현식을 대신하여 속성 값을 쉽게 출력하도록 고안된 Language 입니다.
EL은 값이 없는 변수 null에 대해 좀 더 관대하고 데이터 형 변환을 자동으로 해주는데 이러한 특징은 질의 문자열을 처리하는데 주요하게 작용합니다.
배열이나 컬렉션 뿐만아니라 JavaBean의 프로퍼티에도 사용됩니다.
EL 문법
구문
EL 은 ${ }내에 표현식으로 표현 합니다.
EL 자동으로 형변환을 하기 때문에 아래의 경우 처럼 기존의 스크립트릿을 사용하는 방법 보다 더 편리하게 사용할 수 있습니다.
<%= ((User)request.getAttribute("user")).getName()%> // 스크립트릿
${user.name} // EL
스크립트릿의 경우 자바에서의 객체를 불러오는 형식이라면 EL의 경우는 Attribute의 이름을 찾아오기 때문에 이것이 가능해 집니다.
Attribute의 탐색순서는 다음과 같습니다.
page → request → session → application
(작은 scope에서 큰 scope 로 탐색)
EL 내장객체
Category | Identifier | Type | Description |
JSP | pageContext | Java Bean | 현재 페이지의 프로세싱과 상응하는 PageContext Instance |
범위 (scope) |
pageScope | Map | page scope에 저장된 객체 접근 |
requestScope | Map | request scope에 저장된 객체접근 | |
sessionScope | Map | session scope에 저장된 객체접근 | |
applicationScope | Map | application scope에 저장된 객체 접근 | |
요청 매개변수 |
param | Map | 파라미터값 받아올 때 (1개의 결과값) |
paramValues | Map | 파라미터값 배열로 받아올 때 (여러개의 결과값) |
|
요청 헤더 | header | Map | 헤더값 받아올 때 (1개의 결과값) |
headerValues | Map | 헤더값 배열로 받아올 때 (여러개의 결과값) |
|
쿠키 | cookie | Map | 쿠키값 조회 |
초기화 매개변수 |
initParam | Map | 초기 파라미터 조회 |
EL의 연산자
EL의 연산자는 대부분 java와 동일합니다.
- 산술
- +, -, *, /, %
- 관계형
- ==, !=, <, >, <=, >=
- 3항 연산자
- 조건 ? 값1 : 값2
- 논리
- &&, ||, !
- 타당성 검사
- empty
- [] 연산자
- ${user["name"]} 의 형태로 사용
- dot 연산자
- ${user.name} 의 형태로 사용
'Java > JSP' 카테고리의 다른 글
HTTP Cookie (0) | 2023.09.19 |
---|---|
MVC (0) | 2023.09.19 |
JSP (Java Server Page) (0) | 2023.09.18 |
서블릿 (Servlet) (0) | 2023.09.14 |