Server

[EL] EL이 무엇일까?

동준1234 2025. 2. 24. 16:17

EL(Expression Language)

EL 언어는 JSP(Java Server Pages)에서 Java 코드 없이 간단하게 데이터를 표현하는 언어입니다. 기존에는 <% %> 인 스크립트릿을 사용했지만, 코드가 지저분하고 유지보수가 어려웠기 때문에, 간결하고 가독성이 좋은 JSP 페이지를 만들기 위해 EL 언어를 사용하기 시작했습니다.

📌 1. EL의 주요 기능

1. 기존 방식(스크립틀릿)과의 가독성 차이

기존 방식 (스크립틀릿과 표현식 사용)

 

  • <% %>를 사용해야 해서 코드가 복잡함
  • getAttribute()로 데이터를 직접 가져와야 함
  • getter()를 직접 호출해야 해서 가독성이 떨어짐

EL을 활용한 방식

 

 

  • getAttribute()를 직접 호출하지 않아도 자동으로 가져옴
  • getter()를 쓰지 않아도 객체의 속성값을 바로 가져올 수 있음
  • 코드가 훨씬 간결하고 가독성이 좋아짐

 

2. EL의 스코프 탐색 순서

EL은 특정 스코프를 지정하지 않으면 자동으로 가장 작은 범위부터 검색합니다.

page → request → session → application 순 입니다.

이렇게 하면 scope라는 이름을 가진 변수를 page → request → session → application 순서로 검색해서 가장 가까운 값을 가져옵니다.

 

3. 특정 스코프에서 데이터 가져오기


1. 산술연산 (변수 접근)

EL 로 기본적인 덧셈, 뺄셈, 곱셈, 나눗셈 등을 수행할 수 있습니다.

주의 : EL에서는 정수 나눗셈도 실수값을 반환합니다.

2. 대소비교

lt , gt , le , ge 는 HTML에서 < , > 같은 기호를 사용할 수 없을 때 대체해서 사용 가능.

3. 동등비교

4. NULL 비교

EL에서 null 값은 빈 문자열 ("")로 처리되므로 비교할 때 주의해야 함!
empty 키워드로 null을 확인할 수 있다.

5. LIST 값이 비어있는지 비교

1. empty 를 사용하여 List가 비어있는지 확인

2. List의 크기가 0인지 확인

empty는 null 과 빈 값을 둘 다 true 로 판별하지만, .size() == 0 이 null 일 경우, 오류가 발생할 수 있다!

6. 논리 연산

and, or, not 은 HTML 에서 &&, ❘❘, ! 를 사용할 수 없을 때 대체할 수 있다!