티스토리 뷰
반응형
EL(Expression language)이란?
View를 위한 데이터 추출 표현식
예를 들어, Controller 에서 request.setAttribute("cnt", 30);
이라는 식을 View에서 확인하려면 request.getAttribute("cnt"); 로 호출 해야한다.
여기서 View에서 코드블럭안에 자바코드를 사용하게 되는데 이를 개선하기 위한 방법으로 EL이 등장했다.
EL표기법
${cnt}
${list[0]}
${n.title}
package com.newlecture.web;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/spag")
public class spag extends HttpServlet{
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
int num = 0;
String value;
String num_ = request.getParameter("num");
if(num_ != null && !num_.equals(""))
num = Integer.parseInt(num_);
if(num%2 != 0)
value = "홀수";
else
value = "짝수";
/*변수*/
request.setAttribute("value", value);
/*list*/
String[] names = {"newlec", "dragon"};
request.setAttribute("names",names);
/*Map*/
Map<String, Object> notice = new HashMap<String, Object>();
notice.put("id", 1);
notice.put("title", "EL은 좋아요");
request.setAttribute("notice", notice);
/* forward를 위한 dispatcher */
RequestDispatcher dispatcher
= request.getRequestDispatcher("spag.jsp");
dispatcher.forward(request, response);
}
}
spag.java서블릿에서 변수, List, Map을 생성 및 전달
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!--출력 코드--------------------------------------------------------->
<!-- 변수: request.getAttribute("value") -->
${value}<br>
<!-- List: ((List)request.getAttribute("names")).get(0) -->
${names[0]}<br>
<!-- Map: ((Map)request.getAttribute("notice")).get("title") -->
${notice.title}
</body>
</html>
spag.jsp에서 출력을 위한 변수, List, Map의 EL코드 작성
MVC방식으로 만들때 EL을 이용하면 코드를 간결하고 유용하게 사용 할 수있다.
반응형
'Servlet JSP' 카테고리의 다른 글
JSP EL 연산자 (0) | 2021.04.27 |
---|---|
JSP EL 저장소 (0) | 2021.04.27 |
JSP MVC model2 (0) | 2021.04.26 |
JSP MVC model1 (0) | 2021.04.26 |
JSP 스파게티 Spaghetti 코드 (0) | 2021.04.26 |
댓글
공지사항