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 |