JSP/JSTL

JSTL EL 표기법!

아롱사태남 2015. 5. 18. 23:07
반응형


 EL 및 표현 언어


표현언어는 다음과 같이 $와 표현식 그리고 괄호 ('{' 와 '}')를 사용하여 값을 표현한다.

${expr}


JSP 2.1 버전부터는 ${expr} 형식뿐만 아니ㅏ #{expr} 구문을 새롭게 지원하고 있다.


#{expr} 과 ${expr} 큰 차이점은 실제로 EL의 값을 언제 생성하느냐 이다.



EL이 제공하는 11개의 기본 객체



기본 객체 

설명 

pageContext

JSP의 page 기본 객체와 동일하다. 

pageScope 

pageContext 기본 객체에 저장된 속성의 <속성,값> 매핑을 저장한 

Map 객체

requestScope 

request 기본 객체에 저장된 속성의 <속성,값> 매핑을 저장한

Map 객체

sessionScope

session 기본 객체에 저장된 속성의 <속성,값> 매핑을 저장한

Map 객체

applicationScope 

application 기본 객체에 저장된 속성의 <속성,값> 매핑을 저장한 

Map 객체 

param

요청 파라미터의<파라미터이름, 값배열> 매핑을 저장한 Map 객체,

파라미터 값의 타입은 String으로서, requst.getParameter()의 결과와 동일

paramValues

요청 파라미터의<파라미터이름, 값배열> 매핑을 저장한 Map 객체,

값의 타입은 String[]으로서, request.getParameterValues()의 결과와 동일 

header

요청 정보의 <헤더이름, 값> 매핑을 저장한 Map 객체, 

request.getHeader()의 결과와 동일하다 

headerValues 

요청 정보의 <헤더이름, 값 배열> 매핑을 저장한 Map 객체.

request.getHeaders()의 결과와 동일하다

cookie 

<쿠키 이름, Cookie> 매핑을 저장한 Map  객체, request.getCookie()로 

구한 Cookie 배열로부터 매핑을 생성한다. 

initParam 

초기화 파라미터<이름,값> 매핑을 저장한 Map 객체

application.getInitParameter()의 결과와 동일하다. 


수치 연산자

● + : 덧셈

● - : 뺄셈

● * : 곱셈

● / 또는 div : 나눗셈

● % 또는 mod :  나머지


숫자가 아닌 객체와 수치 연산자를 사용할 경우 객체를 숫자 값으로 변환한 후 연산자를 

수행한다

ex)


 ${"10" + 1 }


만약 수치 연산자에서 사용되는 객체가 null 이면 0으로 처리된다


 ${ null + 1 }

결과는 1 이다.



 ${"10" + 1 }


empty 연산자

empty 연산자는 검사할 객체가 텅 빈 객체인지를 검사하기 위해 사용된다. empty 연산자는 다음과 같이 사용된다.


 empty <값>

여기서 <값>에 따라서 리턴되는 값은 다음과 같이 결정된다.

1. <값>이 null이면 true를 리턴한다.

2. <값>이 빈 문자열("")이면 true를 리턴한다.

3. <값>이 길이가 0인 배열이면 true를 리턴한다.

4. <값>이 빈 Map이면 true를 리턴한다.

5. <값>이 빈 Collection이면 true를 리턴한다.

6. 이 외의 경우에는 false를 리턴한다.


Collection에는 List, Map, Array 등이 모두 포함된다.

반응형