[JSP] EL(표현언어)
현재 JSP페이지는 스크립트 요소보다는 표현 언어(EL, Expression Language)와 JSTL(JSP Standard Tag Library)를 이용하여 구현한다.
표현언어 (EL,Expression Language )
표현 언어는 자바 코드가 들어가는 표현식을 좀 더 편리하기 위해 도입된 데이터 출력 기능이다.
페이지 디렉티브 태그에서 반드시 isELIgnored=false 설정을 하고 사용한다. <%@ page ... isELIgnored=false %>
${expr}
형태로 표현한다. (expr : 표현언어가 정의한 문법에 따라 값을 표현하는 식)
표현언어의 사용 예
${ value or 변수명 }
- 기본 제공 자료형 : boolean, logn, double, String, null
${ obj. name }
- Object : getMethod를 통해 출력. static 메서드도 가능.
- Map : get(key) 호출
${ obj[0] }
- List : 해당 인덱스 접근
표현언어의 연산자
- 산술 연산자 : +,-,*,/(div), %(mod)
- 비교 연산자 : =(eq), !=(ne), <(lt), >(gt), <=(le), >=(ge)
- 논리 연산자 : &&(and), ||(or), !(not)
- empty 연산자 : 값이 null이거나 컬렉션이 비어있는지 체크하여, 비어있으면 true를 반환한다.
${empty value}
- 조건 연산자 : 삼항연산자
표현 언어 내장객체
Scope(스코프)와 요청 매개변수
내장객체 | 설명 |
---|---|
pageScope | JSP의 page와 같은 기능을 하고 page영역에 바인딩한 객체롤 참조한다. |
requestScope | JSP의 request와 같은 기능을 하고 request에 바인딩된 객체를 참조한다. |
sessionScope | JSP의 session과 같은 기능을 하고 session에 바인딩된 객체를 참조한다. |
applicaitonScope | JSP의 application과 같은 기능을하고 application에 바인딩된 객체를 참조한다. |
param | request.getParameter(이름) 호출과 동일. |
paramValues | request.getParameterValues(이름) 호출과 동일, 여러개의 값을 전달하는 요청매개변수 처리 |
scope의 경우 명시적으로 표기하지 않으면 page -> request -> session -> application 순으로 참조하는 것을 참고한다.
그 외
내장객체 | 설명 |
---|---|
header | request.getHeader(이름)과 동일, 요청 헤더 이름의 정보를 단일 값으로 반환한다. |
headerValues | request.getHeaders(이름)과 동일, 요청 헤더 이름의 정보를 배열로 반환. |
Cookies | 쿠키 이름의 값을 반환한다. |
pageContext | pageContext 객체를 참조할 때 사용한다. request.getCookies() |
initParam | 컨텍스트 초기화 매개변수 이름의 값을 반환. application.getInitParameter(이름)과 동일. |
Comments