Expression Language (EL) in JSP

Seoina·2020년 1월 9일
0

2020camp

목록 보기
4/12
  • Syntax:
    ${ expression }
    JSP의 스크립트 요소를 제외한 나머지 부분에서 사용될 수 있다.

    	#{ expression }

    Deferred Expression 이라고 한다.
    JSP 템플릿 텍스트에서는 사용할 수 없고, 허용되는 태그의 속성에만 사용할 수 있다.

    첫번째 syntax는 표현식이 실행되는 시점에 바로 값을 계산하고 두번째 식은 실제로 값이 필요한 시점에 값을 계산한다.

  • 값을 표현하는데 사용되는 새로운 스크립트 언어로 JSP의 기본 문법을 보완하는 역할을 한다.

  1. 문자
  • ${true}
  • ${false}
  • ${123}
  • ${3.14}
  • ${"JAVA"}
  • ${'java'}
  1. EL 연산자
  • 산술연산자: +, -, *, /, %, mode
  • 논리연산자: &&, ||, !, and, or, not
  • 비교연산자: ==, !=, <, >, <=, >=, eq, ne, lt, get, le, ge
  • empty연산자: 값이 null이거나 공백문자인지를 판단하는 연산자
  • ${empty ""} → true
  • ${empty null} → true

EL의 연산자 우선 순위 :
스크린샷 2020-01-09 오후 12.45.36.png

  1. Implicit Objects
  • pageScope : pageContext에 등록된 데이터의 이름과 값을 저장하고 있는 map 객체. pageContext 기본 객체에 저장된 속성의 <속성, 값> 매핑을 저장하고 있다.

  • requestScope : HttpServletRequest에 등록된 데이터의 이름과 값을 저장하고 있는 map 객체. request 기본 객체에 저장된 속성의 <속성, 값> 매핑을 저장하고 있다.

  • sessionScope : HttpSession에 등록된 데이터의 이름과 값을 저장하고 있는 map 객체. session 기본 객체에 저장된 속성의 <속성, 값> 매핑을 저장하고 있다.
    스크린샷 2020-01-09 오후 2.12.43.png

  • applicationScope : ServletContext에 등록된 데이터의 이름과 값을 저장하고 있는 map 객체. application 기본 객체에 저장된 속성의 <속성, 값> 매핑을 저장하고 있다.

  • param : QueryString의 이름과 값을 저장하고 있는 map 객체. 요청 파라미터의 <파라미터이름, 값> 매핑을 저장하고 있다.
    스크린샷 2020-01-09 오후 2.12.10.png

  • paramValues : 같은 이름으로 전달된 질의 문자열의 이름과 값들을 저장하고 있는 map 객체. 요청 파라미터의 <파라미터이름, 값 배열> 매핑을 저장하고 있다.

  • header : 요청정보 헤더의 정보를 이름과 값으로 저장하고 있는 map 객체. 요청 정보의 <헤더이름, 값> 매핑을 저장한 Map 객체 (request.getHeader(이름)의 결과와 동일)

  • headerValues : 요청정보 헤더의 정보들을 이름과 값들을 저장하고 있는 map객체. 요청 정보의 <헤더이름, 값 배열> 매핑을 저장한 Map 객체 (request.getHeaders(이름)의 결과와 동일)

  • cookie : 요청을 보낸 클라이언트의 쿠기 이름과 값을 저장하고 있는 map객체. <쿠키 이름, Cookie> 매핑을 저장한 Map 객체 (request.getCookies()로 구한 Cookie 배열로 부터 매핑을 생성)
    스크린샷 2020-01-09 오후 2.13.00.png

  • initParam : 웹 애플리케이션에 저장한 초기 파라미터의 이름과 값을 저장하고 있는 map 객체. 초기화 파라미터의<이름, 값> 매핑을 저장한 Map 객체 (application.getInitParameter(이름)의 결과와 동일)

  • pageContext : JSP 내장 객체 pageContext와 같습니다. 많은 객체 요청, 세션 등에 대한 액세스를 제공한다.

  1. EL 비교 연산자
  • '==' 또는 eq : 같은가

  • '!=' 또는 nu : 같지 않은가

  • '<' 또는 lt : 작은가

  • '>' 또는 gt : 큰가

  • '<=' 또는 le : 작거나 같은가

  • '>=' 또는 ge : 크거나 같은가

스크린샷 2020-01-09 오후 2.00.41.png

0개의 댓글