반응형

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 표기는 단순한 글자 표현으로 처리된다. 

 

반응형

+ Recent posts