EL문

이건우·2025년 3월 1일

웹 프로그래밍

목록 보기
11/43

1️⃣ EL이란?


JSP에서 스크립틀릿(<% %>)을 최소화하고, HTML과 Java 코드를 분리하여 가독성유지보수성높이기 위해 사용되는 JSP 표현 언어입니다.


2️⃣ 주요 구성요소


1. 내장 객체

내장 객체설명
pageScopepage 영역의 속성 값을 가져온다.
requestScoperequest 영역의 속성 값을 가져온다.
sessionScopesession 영역의 속성 값을 가져온다.
applicationScopeapplication 영역의 속성 값을 가져온다.
param요청 파라미터 값을 가져온다.
paramValues요청 파라미터의 배열 값을 가져온다.
header요청 헤더 값을 가져온다.
headerValues요청 헤더의 배열 값을 가져온다.
cookie쿠키 값을 가져온다.
initParam초기화 파라미터 값을 가져온다.

사용 예시 )

<c:set var="message" value="Hello, JSP!" scope="request"/>
<p>메시지: ${requestScope.message}</p>
<p>메시지: ${message}</p>
<%-- JSP에서는 기본적으로 가장 가까운 Scope에서 변수를 찾습니다.
(page → request → session → application) --%>

2. 연산자

(1) 산술 연산자

연산자설명
+덧셈
-뺄셈
*곱셈
/, div나눗셈
%, mod나머지
<p>결과: ${10 + 20}</p> <!-- 결과: 30 -->

(2) 비교 연산자

연산자설명
==, eq같음
!=, ne같지 않음
<, lt작음
>, gt
<=, le작거나 같음
>=, ge크거나 같음
<p>비교 결과: ${10 > 5}</p> <!-- true -->

(3) 논리 연산자

연산자설명
&&, and논리 AND
!, not논리 NOT

3. 객체 및 컬렉션 접근

(1) 자바 빈(Bean)(객체) 접근
JAVA 객체에서 을 꺼내서 사용 할 수 있습니다.

<p>이름: ${user.name}</p> <!-- user.getName() -->

(2) List 접근
JAVA 컬렉션에 접근 할 수 있습니다.

<p>첫 번째 유저: ${userList[0].name}</p>

(3) Map 접근

<p>관리자 이름: ${userMap["admin"].name}</p>

4. 삼항 연산자 (조건 표현식)

<p>결과: ${score >= 70 ? "합격" : "불합격"}</p>

3️⃣ 특징


✅ 장점

코드 가독성 증가

  • <% %>(스크립 틀릿) 없이 데이터를 표현할 수 있어 HTML과 Java코드가 분리됩니다.

보안성 향상

  • EL은 직접 Java 코드를 실행하지 않기 때문에 XSS(크로스 사이트 스크립팅) 등의
    보안 문제줄여 줍니다.

JSTL과의 강력한 조합

  • EL은 JSTL과 함께 사용할 때 강력한 기능을 발휘합니다.

❌ 단점

복잡한 로직을 처리하기 어려움

  • EL은 표현 언어이므로 복잡한 Java 로직은 처리하기 어렵습니다 따라서,
    복잡한 로직은 Servlet이나 Controller에서 처리 후 JSP로 전달하는 것을 권장.

디버깅이 어려움

  • EL에서 에러가 발생하면 명확한 에러 메시지출력하지 않습니다.

EL(Expression Language)은 JSP에서 Java 코드를 최소화하고 HTML과 분리하여 유지보수성을 높이는 강력한 기능입니다.
JSTL과 함께 사용하면 가독성효율성을 극대화할 수 있으며,
보안적으로도 안전한 방식입니다.

profile
새싹개발자

0개의 댓글