728x90
EL
EL은 Expression language의 약자로 JSP 2.0 버전에서 새로 추가된 스크립트 언어입니다. 자바코드를 더 이상 사용하지 않고 속성 값들을 좀 더 간편하게 출력을 지원하기 위한 도구입니다.
EL 특징
- JSP 속성영역(request, response, session, application, ...)에 저장된 속성 객체의 property를 출력한다
- 리터럴 데이터, 다양한 연산결과 출력이 가능하다
- JSTL과 연동이 가능하다
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 연산자
단어 연산자 | 기호 연산자 |
+ | + |
- | - |
* | * |
/ | div |
5 | mod |
&& | and |
|| | or |
! | not |
> | lt (less than) |
< | gt (greater than) |
>= | le (less or equal) |
<= | ge (greater or equal) |
== | eq (equal) |
!= | ne (not equal) |
실습
실습 1
<%@ 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>
실습 2
<%@ 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>
GitHub
https://github.com/Qkrwnsgus0522/JSP
728x90