-
[Spring] modelSpring 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반응형'Spring' 카테고리의 다른 글
[Spring] RedirectAttributes (0) 2021.06.21 Maven 이란? (0) 2021.01.11 [Spring Security] 스프링시큐리티의 기본 개념과 구조 (1) 2020.12.01 Spring MVC 패턴 (1) 2020.10.25 Spring에 커넥션풀(Connection Pool) 등록 - HikariCP (1) 2020.10.24