- EL (Expresssion Language) EL은 JSP에서 Java 코드를 쓰지 않고도 Java 객체를 불러올수 있는 언어이다. 기존에 사용했던 jsp tag <%= %>를 EL 표기법 ${}로 대체한다. 아래는 EL 표기법 예제이다. 문자열, 배열, 맵 등을 EL을 써서 출력해보았다.
EL 안에 들어가는 값은 jsp와 달리 숫자는 숫자로 문자열은 문자열로 인식한다. 아래의 표는 EL 에서 쓰여지는 여러가지 operator 들이다.
[] |
배열의 원소 반환 | |
+, -, * | 덧셈, 뺄셈, 곱셉 | |
/ (div) | 나눗셈 | |
% (mod) | 나머지 | |
== (eq) | 같은지 비교 | |
!= (ne) | 같지 않은지 비교 | |
< (lt) | 작음 | |
> (gt) | 큼 | |
<= (le) | 작거나 같음 | |
>= (ge) | 크거나 같음 | |
&& (and) | AND | |
|| (or) | OR | |
! (not) | NOT | |
empty | EMPTY |
여기서 눈여겨 볼것은 괄호안에 있는 연산자들도 대신 쓸수 있다는 것이다. 그 이유는 HTML에서 이미 <,> 등의 특수기호를 사용하고 있으므로 중복되지 않게 만들었다. 여기 게시된 연산자들은 보통 많이 쓰는 연산자들이여서 어떤 의미인지 다 알것이다. empty라는 연산자만 짚고 넘어 갈 것이다. empty는 boolean을 리턴해주는 연산자로 예를 들어 어떤 문자열이 null 이거나 비어있다면("") true를 반환하고 반대의 경우에는 false를 반환한다. 아래의 예를 참고 해보자.
${empty param.c ? "param is emtpy" : param.c}
empty 와 삼항연산자를 중첩시킨건데 아마 보면 어떤 느낌인지 알것이다. c라는 변수가 비어있거나 null이면 "param is empty"를 출력하고 그렇지 않으면 c의 값을 출력 하는 것이다.
- Scope (객체범위)
JSP에서는 page, request, session, application 등의 네가지 객체 범위를 제공한다. 각 객체마다 적용되는 범위가 다르며 다른 범위 두곳에서 같은 이름으로 변수가 저장 될 경우 원하지 않은 객체를 불러드릴 수도 있다. 작은 범위부터 page < request < session < application 순이며 만약 같은 이름의 변수가 page, request에 저장되어 있는 경우, 그 변수를 부르면 작은 범위에 있는 page에 저장 되어있는 변수가 불러진다. 참고로 page 객체는 jsp에서만 존재하므로 jsp에서만 부를수 있다.
'개발 공부' 카테고리의 다른 글
웹서버의 종류 (Apache / IIS / Nginx) (0) | 2020.08.24 |
---|---|
JSTL - forEach (0) | 2020.08.23 |
MVC1 / MVC2 예제 (0) | 2020.08.03 |
Cookie를 이용한 장바구니 만들기 (0) | 2020.08.01 |
Application Context / Session / Cookie (0) | 2020.07.31 |