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
반응형