끄적끄적 코딩
article thumbnail
Published 2023. 4. 3. 01:39
EL (Expression Language) BackEnd

EL (Expression Language)
EL은 표현을 위한 언어로 JSP 스크립트의 표현식을 대신하여 속성 값을 쉽게 출력하도록 고안된 language 이다.
즉 표현식 (<%=%>)를 대체할 수 있다.
EL 표현식에서 도트 연산자 왼쪽은 반드시 java.util.Map 객체 또는 Java Bean 객체여야 한다.
EL 표현식에서 도트 연산자 오른쪽은 반드시 맵의 키이거나 Bean 프로퍼티여야 한다.

EL에서 제공하는 기능
- JSP의 네가지 기본 객체가 제공하는 영역의 속성 사용
- 자바 클래스 메소드 호출 가능
- 표현 언어만의 기본 객체 제공
- 수치, 관계, 논리 연산 제공

EL 문법


EL 문법 : [] 연산자
EL에는 Dot 표기법 외에 [] 연산자를 사용하여 객체의 값에 접근할 수 있다.
[] 연산자 안의 값이 문자열인 경우, 이것은 맵의 키가 될 수도 있고, Bean 프로퍼티나 리스트 및 배열의 인덱스가 될 수 있다.
배열과 리스트인 경우, 문자로 된 인덱스 값은 숫자로 변경하여 처리합니다.


EL 내장객체  
EL 내장객체는 JSP 페이지의 EL 표현식에서 사용할 수 있는 객체


EL 사용
pageContext를 제외한 모든 EL 내장 객체는 Map이다.
그러므로 key와 value의 쌍으로 값을 저장하고 있다.
기본 문법


EL에서 객체 접근
request.setAtrribute(”userinfo”, “J3SUNG”);
1. ${requestScope.userinfo}
2. ${pageContext.request.userinfo}, ${userinfo}

url?name=J3SUNG&fruit=사과&fruit=바나나
1. ${param.name}
2. ${paramValues.fruit[0]}.${paramValues.fruit[1]}

${cookie.id.value}
1. Cookie가 null이라면 null return.
2.
null이 아니라면 id를 검사 후 null이라면 null return
3.
null이 아니라면 value값 검사
-
EL은 값이 null이라도 null을 출력 하지 않는다. (공백)


EL Operator(연산자)
대부분 java와 동일

empty 연산자에서 true를 return 하는 경우 >> ${empty var}
1.값이 null이면 true
2.값이 빈 문자열(””) 이면 true
3.길이가 0인 배열([]) 이면 true
4.빈 Map 객체는 true
5.빈 Collection 객체이면 true

EL에서 객체 method 호출
<%
List<MembereDto> list = dao.getMembers();
request.setAttribute(”users”, list);
%>

회원 수 : ${requestScope.users.size() }, ${ users.size() }
*주의 >> ${ users.size } == <%= request.getAttribute(”users”).getSize() %>

'BackEnd' 카테고리의 다른 글

JSTL (JSP Standard Tag Library)  (0) 2023.04.03
세션(Session), 쿠키(Cookie)  (0) 2023.04.03
MVC  (0) 2023.04.03
JSP (Java Server Page)  (0) 2023.04.03
Servlet  (0) 2023.04.03

검색 태그