Spring
[Spring] model
인디아나쥰이
2021. 6. 8. 15:15
model 객체란?
-Controller 에서 생성된 데이터를 담아서 View로 전달할 때 사용하는 객체
-Servlet의 request.setAttribute() 와 유사한 역할
jsp의 경우
request.setAttribute("date", new java.util.Date());
RequestDispatcher dispatcher = request.getRequestDispatcher("url");
dispatcher.forward(request, response);
스프링의 경우
public String home(Model model)
{
model.addAttribute("date", new java.util.Date());
return "home";
}
View에 데이터 전달하기
1.Model 객체 사용
model.addAttribute("key","value");
@Controller
public class BoardController{
@RequestMapping(value="/list")
public String contentView(Model model){
model.addAttribute("value", "hi");
return "list";
}
}
addAttribute를 이용하여 key, value 를 이용하여 전달할 수 있다.
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%= request.getAttribute("value") %>
</body>
</html>
2. @ModelAttribute("key") 어노테이션 사용
@ModelAttribute 어노테이션이 부여된 메소드가 리턴하는 객체를 view로 바로 넘겨 사용할 수도 있다.
@Controller
public class BoardController{
@ModelAttribute("value")
public String contentView(){
return "pass to list";
}
}
해당 어노테이션 안의 "value" 가 값을 가져오는데 사용되는 key
contentView() 메소드가 return 하는 객체가 value 가 되고 view에 전달된다.
728x90
반응형