Web/JSP
[JSP] EL 표현식
웹코린이
2023. 7. 3. 08:52
728x90
EL
JSP 페이지에서 Java 코드를 대체하고 뷰와 비즈니스 로직을 분리하는 데 사용됨
EL의 특징
- EL은 간결한 문법을 사용하여 Java 코드보다 더 가독성이 높고 쉽게 작성할 수 있음
- JSP 페이지의 변수에 쉽게 접근할 수 있음 ex) ${ user.name}
- 반복문을 사용하여 리스트나 배열의 요소를 사용할 수 있음
- JSTL 과 연동하여 사용 가능함
- JSP 속성(request, response, session, application 등) 에 저장된 객체의 property를 출력함
EL 연산자
연산자 | 설명 |
? | 삼항 연산자 |
% | mod |
> | It (less than) |
< | gt (greater than) |
>= | le (less or equal) |
<= | ge (greater or equal) |
== | eq (equal) |
!= | ne (not equal) |
EL 표현식 사용 방법
Attribute
setAttribute("key", "value") 의 형태로 값을 설정 했을 때 JSP 페이지에서 ${ key } 를 작성하면 웹 페이지에서 value가 출력된다
<%
pageContext.setAttribute("key","value");
request.setAttribute("key","value");
session.setAttribute("key","value");
application.setAttribute("key","value");
%>
${key}
${requestScope.key}
${sessionScope.key}
${applicationScope.key}
Parameter
Parameter 로 받은 값을 출력한다
<input type="text" name="name">
<input type="text" name="age">
<input type="text" name="hobby">
${param.name}
${param.age}
${param.hobby}
실습
EL 표현식을 활용하여 상품 선택 하여 결과 페이지에서 해당 값 받아와 출력하는 실습
test01.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 태그 라이브러리 등록 uri 경로, prefix 부를 이름-->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<jsp:useBean id="pb" class="test.ProductBean" scope="session"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>상품 선택 페이지</title>
</head>
<body>
<form action="test02.jsp" method="post">
<select name="product">
<!-- JAVA의 for문 기능을 가지는 태그 -->
<!-- JSTL에서 구현해놓았다! -->
<c:forEach var="v" items="${ pb.pdatas }">
<option>${ v }</option>
<!-- EL식 ↔ 자바 표현식 -->
<!-- 간단한 연산 가능 -->
</c:forEach>
</select>
<input type="submit" value="상품 선택">
</form>
</body>
</html>
test02.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>결과 페이지</title>
</head>
<body>
선택한 상품은 ${ param.product }입니다. <br>
num1 + num2 = ${ pb.num1 + pb.num2 }
</body>
</html>
728x90