EL(Expression Language)
자바 빈의 프로퍼티, 값을 JSP의 표현식 <%= %>이나 액션 태그 <jsp:useBean>를 사용하는것 보다 쉽고 간결하게 꺼낼수 있게 하는 기술이다. 또한 static 메소드를 호출할 수도 있는데 JSP에서는 주로 서블릿 보관소(JspContext, ServletRequest, HttpSession, ServletContext)에서 값을 꺼낼 때 사용한다.
EL 표기법
1. ${ }
- JSP가 실행될 때 즉시 반영된다. (Immediate evaluation)
- 객체 프로퍼티 값을 꺼낼때 주로 사용한다.
2. #{ }
- 시스템에서 필요하다고 판단될 때 그 값을 사용한다. (Deferred evaluation)
- 사용자 입력값을 객체의 프로퍼티에 담는 용도로 주로 사용한다.
EL에서 보관소 검색 범위 지정
보관소를 지정하지 않으면 모든 보관소를 검색하지만 특정 보관소에서만 찾도록 지정할 수 있다. 다음은 EL에서 보관소를 참조할때 사용하는 이름이다.
이름 | 보관소 |
pageScope | JspContext |
requestScope | ServletRequest |
sessionScope | HttpSession |
applicationScope | ServletContext |
EL 기본 객체
객체 | 설명 | 코드 |
pageContext | JSP의 PageContext 객체 | |
servletContext | ServletContext 객체 | ${pageContext.servletContext.객체명} |
session | HttpSession 객체 | ${pageContext.session.객체명} |
request | ServletRequest 객체 | ${pageContext.request.객체명} |
response | ServletResponse 객체 | |
param | 요청 매개변수의 값 조회 | ${param.매개변수명} |
paramValues | 요청 매개변수의 값 배열 조회 | ${paramValues.매개변수명} |
header | HTTP 헤더의 값 조회 | ${header.헤더명} |
headerValues | HTTP 헤더의 값 배열 조회 | ${headerValues.헤더명} |
cookie | 쿠키 값 조회 | ${cookie.쿠키명} |
initParam | 컨텍스트 초기화 매개변수의 값 조회 | ${initParam.매개변수명} |
pageScope | page 보관소의 값 조회 | ${pageScope.객체명} |
requestScope | request 보관소의 값 조회 | ${requestScope.객체명} |
sessionScope | session 보관소의 값 조회 | ${sessionScope.객체명} |
applicationScope | application 보관소의 값 조회 | ${applicationScope.객체명} |
EL연산자
1. 산술연산자: +, -, *, /, %, mode
2. 논리연산자: &&, ||, !, and, or, not
3. 비교연산자: ==, !=, <, >, <=, >=, eq, ne, lt, get, le, ge
4. empty연산자: 값이 null이거나 공백문자인지를 판단하는 연산자
- ${empty ""} → true
- ${empty null} → true
'코딩 공부 > web & Java' 카테고리의 다른 글
[Web] Component (0) | 2022.11.18 |
---|---|
[Java/JSP] JSTL(JavaServer Pages Standard Tag Library) (0) | 2022.11.13 |
[Java] HttpServletRequest와 HttpServletResponse (0) | 2022.11.11 |
[Web] MVC패턴 (0) | 2022.11.10 |
[Web] Forward와 Redirect (0) | 2022.11.05 |