반응형
JSP, EL(Expression Language) 표기
글. 수알치 오상문
JSP에서 EL 표기법을 사용하면 변수를 JSP에서 편하게 사용할 수 있다. JSP에 EL 표기를 이용하면 다음과 같은 기능을 사용할 수 있다.
- JSP 스코프(scope)에 맞는 속성을 사용할 수 있다.
- 집합 객체에 접근할 수 있다.
- 관련된 연산자를 제공한다.
- 자바 클래스 메소드를 호출할 수 있다.
- 기본 객체를 제공한다.
1) 기본 표기 방법
${표현식 }
[예제]
<b>${member.name}</b>님, 환영합니다.
홍길동님, 환영합니다.
2) 제공하는 기본 객체
pageContext, pageScope, requestScope, sessionScope, applicationScope, param, paramValues, header, headerValues, cookie, initParam 등의 기본 객체를 제공한다.
[예제]
${sessionScope.member.id}님, 환영합니다.
request_uri = ${pageContext.request.requestURI}
parameter_code = ${param.code}
hong123님, 환영합니다.
[표] EL 내장 객체 ( ${ } 표기에서 사용 )
구분 | 내장 객체 | 설명 |
영역(Scope) | pageScope | pageContext 영역에 있는 객체 참조 (<속성, 값> 맵 객체) |
requestScope | request 영역에 있는 객체 참조 (<속성, 값> 맵 객체) | |
sessionScope | session 영역에 있는 객체 참조 (<속성, 값> 맵 객체) | |
applicationScope | application 영역에 있는 객체 참조 (<속성, 값> 맵 객체) | |
요청 파라미터 | param | 요청 파라미터를 단일 값으로 반환 (<파라미터, 값> 맵 객체) - request.getParameter( ) 기능을 제공한다. |
paramValues | 요청 파라미터를 배열로 반환 (<파라미터, 값배열>맵 객체) - request.getParameterValues( ) 기능을 제공한다. |
|
헤더 | header | 요청 헤더명 정보를 단일 값으로 반환 (<헤더명, 값> 맵 객체) - request.getHeader( ) 기능을 제공한다. |
headerValues | 요청 헤더명 정보를 배열로 반환 (<헤더명, 값배열> 맵 객체) - request.getHeaderValues( ) 기능을 제공한다. |
|
쿠키 | Cookies | 쿠키 값을 반환 (<쿠키명, 쿠키> 맵 객체) - request.getCookies( ) 기능을 제공한다. |
JSP 내용 | pageContext | PageContext 객체 참조 - JSP page 기본 객체와 같다. |
초기 파라미터 | initParam | 컨텍스트 초기화 매개변수 값을 반환 (<파라미터, 값> 맵 객체) - applition.getInitParameter( ) 기능을 제공한다. |
3) 객체 접근 표기
${객체.속성}
${표현1.표현2}
- 객체/속성 또는 표현1/2가 null이면 null 값을 반환한다.
- 표현1이 Map이면 표현2는 key로 사용된다.
- 표현1이 List/배열이면 표현2는 인덱스 번호로 사용된다. (정수 아닌 인덱스면 에러 발생)
- 표현1이 객체면 표현2는 getter 메소드 같은 것을 호출한 결과이다.
4) EL 기능 비활성
다음 내용을 JSP 파일에 설정한다.
<%@ page isELIgnored = "true" %>
이렇게 EL 기능이 비활성 상태가 되면 EL 표기는 단순한 글자 표현으로 처리된다.
반응형
'JAVA Servlet,JSP' 카테고리의 다른 글
JSP, EL 스코프 영역 접근 예제 및 생략 시 우선순위 (0) | 2022.06.04 |
---|---|
JSP, EL(Expression Language) 연산자 (0) | 2022.06.04 |
Servlet/JSP, 변수 Scope 종류 (0) | 2022.06.04 |
Redirect와 Forward 차이 (0) | 2022.06.03 |
JSP 내장 객체 (JSP Implicit Objects) (0) | 2022.06.03 |