반응형
📌EL 이란?
EL(Expression Language)은 JSP 스크립트 태그인 <%=%>를 대신해서 ${ }로 표현식을 바꿔 JSP 값들을 좀 더 편리하게 출력하기 위해 제공되는 언어이다.
기존 | EL |
<%=hello%> | ${hello} |
기존 태그 같은 경우 태그 < >사이에 표현식이 표현되어 겹쳐지므로 이해하기 어려울 수가 있다. EL은 이런 단점을 보완하고 간결한 데이터 출력을 위해 제공되는 기능이다. EL에서는 변수값도 출력하지만 연산자와 내장 객체도 제공하고 있다. 연산자가 포함되어있기 때문에 연산 기능을 처리할 때도 편리하다.
temp 변수를 표현할 때 | ${temp} |
member 객체의 age를 확인할 때 | ${member.age} ${member['age']} ${member["age"]} |
📌EL의 내장 객체
객체 | 코드 | 설명 |
pageScope | ${pageScope.객체명} | Page 영역에 존재하는 객체를 참고할 때 사용한다. |
requestScope | ${requestScope.객체명} | Request 영역에 존재하는 객체를 참조할 때 사용한다. |
sessionScope | ${sessionScope.객체명} | Session 영역에 존재하는 객체를 참조할 때 사용한다. |
applicationScope | ${applicationScope.객체명} | Appication 영역에 존재하는 객체를 참조할 때 사용한다. |
param | ${param.매개변수명} | 파라미터 값을 얻어올 때 사용한다. |
paramValues | ${paramValues.매개변수명} | 파라미터 값을 배열로 얻어올 때 사용한다. |
header | ${header.헤더명} | Header 정보를 얻어올 때 사용한다. |
headerValues | ${headerValues.헤더명} | Header 정보를 배열로 얻어올 때 사용한다. |
cookie | ${cookie.쿠키명} | 쿠키 객체를 참조할 때 사용한다. |
initParam | ${initParam.매개변수명} | 컨텍스트의 초기화 파라미터를 의미한다. |
pageContext | PageContext 객체를 참조할 때 사용한다. | |
servletContext | ${pageContext.servletContext.객체명} | Servlet 객체 |
session | ${pageContext.session.객체명} | HttpSession 객체 |
request | ${pageContext.request.객체명} | ServletRequest 객체 |
response | ServletResponse 객체 |
EL에 내장되어있는 객체를 사용하면 복잡한 자바 코드를 사용하지 않아도 파라미터에 관한 정보를 쉽게 얻을 수 있고 여러 Scope 내에 존재하는 객체를 쉽게 표현할 수 있다.
📌EL의 연산자
. ex ${member.id} | 빈, 맵의 속성에 접근하기 위한 연산자이다. |
[ ] ex ${scores[2]} | 배열, 리스트의 요소 또는 빈, 맵의 속성에 접근하기 위한 연산자이다. |
( ) | 연산의 우선 순위를 변경할 때 사용한다. |
x ? a : b | x의 조건이 만족하면 a를 리턴, 아닐 경우 b를 리턴한다. |
empty | 값이 NULL이거나 컬렉션의 사이즈가 0일 경우 true를 반환한다. |
+ | 더하기 연산자 |
- | 빼기 연산자 |
* | 곱하기 연산자 |
/ 또는 div | 나누기 연산자 |
% 또는 mod | 나머지 연산자 |
&& 또는 and | 두 항의 내용을 모두 만족할 경우 true, 그렇지 않으면 false를 반환한다. |
|| 또는 or | 두 항의 내용 중 하나라도 만족하면 true, 그렇지 않으면 false를 반환한다. |
! 또는 not | 값이 만족하지 않으면 true, 만족하면 false를 반환한다. 즉 true는 false, false는 true로 변경해 주는 연산자이다. |
== 또는 eq | 두 항의 값이 같으면 true, 그렇지 않으면 false 반환 |
!= 또는 ne | 두 항의 값이 다르면 true, 같으면 true |
< 또는 It | 좌항이 우항보다 작으면 true |
> 또는 gt | 좌항이 우항보다 크면 true |
<= 또는 le | 좌항이 우항보다 작거나 같으면 true |
>= 또는 ge | 좌항이 우항보다 크거나 같으면 true |
예제
...
<title> EL 연산자 사용 예제 </title>
</head>
<body>
<h3>\${5+7} = ${5+7}</h3>
<h3>\${7<8} = ${7<8}</h3>
<h3>\${5+3==8 ? 8 : 10} = ${5+3==8 ? 8 : 10}</h3>
</body>
</html>
출력
${5+7} = 12
${7<8} = true
${5+3==8 ? 8 : 10} = 8
반응형
'JSP & Servlet > 개념' 카테고리의 다른 글
JSTL fmt - JSTL의 국제화/형식화 액션 (0) | 2022.06.25 |
---|---|
JSTL core - JSTL의 기본 액션 (0) | 2022.06.25 |
JSTL 설치 (0) | 2022.06.18 |
MVC 패턴 (Model, View, Controller) (0) | 2022.06.16 |
이클립스에서 DB 연동하기 (MySQL) (0) | 2022.06.16 |