본문 바로가기

study/jsp, servlet ...

표현 언어 - EL(Expession Language)

EL(Expression Language) : 표현 언어. 값을 표현하는 데 사용되는 스크립트 언어로서 JSP의 기본 문법을 보완한다. 주로 객체의 값을 꺼낼 때 사용한다.

 

JSP에는 자바 코드와 HTML 코드를 같이 사용한다. 표현 언어를 사용하여 쉽고 간결한 코드로 가독성을 높일 수 있다.

 

EL의 기능들

  • JSP의 스코프에 맞는 속성 사용 -> EL로 모든 스코프의 변수들을 쉽게 출력할 수 있다.
  • 집합 객체에 대한 접근 방법 제공
  • 수치 연산, 관계 연산, 논리 연산자 제공
  • 자바 클래스 메소드 호출 기능 제공
  • EL만의 기본 객체 제공

EL 사용법

${표현식} , 달러 문자가 붙은 중괄호 안에 표현식을 작성한다.

${pageContext.name} // 페이지 스코프의 "name" 속성 출력

 

page, request, session, application 스코프와 관련된 객체 등 기본 객체들이 제공된다.

출처: 네이버 부스트코스

 

일반적인 데이터 타입은 EL에서 사용한다.(불리언, 정수, 실수, 문자열, 널, ...)

 

EL로 객체를 접근할 때, 예) ${<표현1>.<표현2>}

  • 표현1 또는 표현2가 null이면 null을 반환
  • 표현1이 Map이면 표현2를 key로한 값을 반환
  • 표현1이 List나 배열이고 표현2가 정수면 해당 index에 해당하는 값을 반환
  • 만약 표현2가 정수가 아닐 경우에는 오류가 발생
  • 표현1이 객체이면, 표현2에 해당하는 getter메소드에 해당하는 메소드를 호출한 결과를 반환
  • 만약 표현이 유니크한 값이라면 객체 접근 없이 출력이 가능하지만, 명시적으로 스코프 범위까지 적는 것이 효율적이다.

 

EL의 산술 연산 : 일반적인 문법과 같지만, 나누기 / 와 % 나머지 연산의 경우는 HTML 예약어와 겹칠 수 있어 div, mod로 사용한다.

연산에 null을 사용하면 0으로 설정하고 연산이 수행된다.

 

비교 연산, 논리 연산도 사용할 수 있다.

 

empty 연산자 : empty<값>
<값>이 nul, 빈 문자열, 길이가 0인 배열, 빈 Map, 빈 Collection이면 true 반환. 나머진 false 리턴

 

삼항 연산자 : <수식> ? <값1>:<값2>

 

EL 비활성화 : JSP 페이지 지시자에서 EL을 무시하도록 할 수 있다.

<%@ page isELIgnored ="true"%> // 기본값은 false이다.

'study > jsp, servlet ...' 카테고리의 다른 글

scope  (0) 2021.03.09
redirect, forward + servlet, jsp  (0) 2021.03.07
JSP  (0) 2021.03.02
Servlet  (0) 2021.02.26
WAS  (0) 2021.02.24