Syntax:
${ expression }
JSP의 스크립트 요소를 제외한 나머지 부분에서 사용될 수 있다.
#{ expression }
Deferred Expression 이라고 한다.
JSP 템플릿 텍스트에서는 사용할 수 없고, 허용되는 태그의 속성에만 사용할 수 있다.
첫번째 syntax는 표현식이 실행되는 시점에 바로 값을 계산하고 두번째 식은 실제로 값이 필요한 시점에 값을 계산한다.
값을 표현하는데 사용되는 새로운 스크립트 언어로 JSP의 기본 문법을 보완하는 역할을 한다.
EL의 연산자 우선 순위 :
pageScope : pageContext에 등록된 데이터의 이름과 값을 저장하고 있는 map 객체. pageContext 기본 객체에 저장된 속성의 <속성, 값> 매핑을 저장하고 있다.
requestScope : HttpServletRequest에 등록된 데이터의 이름과 값을 저장하고 있는 map 객체. request 기본 객체에 저장된 속성의 <속성, 값> 매핑을 저장하고 있다.
sessionScope : HttpSession에 등록된 데이터의 이름과 값을 저장하고 있는 map 객체. session 기본 객체에 저장된 속성의 <속성, 값> 매핑을 저장하고 있다.
applicationScope : ServletContext에 등록된 데이터의 이름과 값을 저장하고 있는 map 객체. application 기본 객체에 저장된 속성의 <속성, 값> 매핑을 저장하고 있다.
param : QueryString의 이름과 값을 저장하고 있는 map 객체. 요청 파라미터의 <파라미터이름, 값> 매핑을 저장하고 있다.
paramValues : 같은 이름으로 전달된 질의 문자열의 이름과 값들을 저장하고 있는 map 객체. 요청 파라미터의 <파라미터이름, 값 배열> 매핑을 저장하고 있다.
header : 요청정보 헤더의 정보를 이름과 값으로 저장하고 있는 map 객체. 요청 정보의 <헤더이름, 값> 매핑을 저장한 Map 객체 (request.getHeader(이름)의 결과와 동일)
headerValues : 요청정보 헤더의 정보들을 이름과 값들을 저장하고 있는 map객체. 요청 정보의 <헤더이름, 값 배열> 매핑을 저장한 Map 객체 (request.getHeaders(이름)의 결과와 동일)
cookie : 요청을 보낸 클라이언트의 쿠기 이름과 값을 저장하고 있는 map객체. <쿠키 이름, Cookie> 매핑을 저장한 Map 객체 (request.getCookies()로 구한 Cookie 배열로 부터 매핑을 생성)
initParam : 웹 애플리케이션에 저장한 초기 파라미터의 이름과 값을 저장하고 있는 map 객체. 초기화 파라미터의<이름, 값> 매핑을 저장한 Map 객체 (application.getInitParameter(이름)의 결과와 동일)
pageContext : JSP 내장 객체 pageContext와 같습니다. 많은 객체 요청, 세션 등에 대한 액세스를 제공한다.
'==' 또는 eq : 같은가
'!=' 또는 nu : 같지 않은가
'<' 또는 lt : 작은가
'>' 또는 gt : 큰가
'<=' 또는 le : 작거나 같은가
'>=' 또는 ge : 크거나 같은가