JSP의 익스프레션 언어(Expression Language)

원래 JSP의 scriptlet에서 request에 있는 데이터를 가져오기 위해서는

request.getAttribute("result",);

으로 넣어줘야 했다.

그런데 이것을 EL식으로 표현하면

${result}

간단하게 위와 같은 식을 html에 직접 넣어주는 방식으로 값을 바로 받아와서 출력해줄 수 있다.

원래는 아래와 같이 어떤 객체(page,request, session, application)의 어트리뷰트인지를 명시해줘야 하지만

${pageScope.sum}

EL 식에서 데이터를 찾을 때는 알아서 scope가 작은 객체에서부터 넓은 객체로 이동하며 데이터를 찾아서 가져와주기 때문에 바로 ${sum}으로 데이터를 출력해줄 수 있다.

${param.키이름}
${header.키이름}
${cookie.키이름}

request 객체 외에도 다양한 객체의 어트리뷰트를 EL식을 이용하면 쉽게 뽑아올 수 있다.

그 예시는 아래와 같다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<% 
	request.setAttribute("name", "june");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<jsp:forward page="el_result.jsp">
		<jsp:param value="apple" name="fruit"/>
	</jsp:forward>
</body>
</html>
before: <%= request.getParameter("fruit") %> <br>
after: ${param.fruit} <br>

before: <%= request.getAttribute("name") %> <br>
after: ${name} <br>

<%= ((Member)request.getAttribute("member")).getName() %><br>
${member.name}<br>

<%= ((HashMap)request.getAttribute("baseball")).get("samsung") %><br>
${baseball.samsung}<br>

좋은 웹페이지 즐겨찾기