Model은 HashMap 형태를 갖고 있으며, Key,Value값을 가지고 있습니다.
addAttribute()와 같은 기능을 통해 모델에 원하는 속성과 그것에 대한 값을 주어 전달할 뷰에 데이터를 전달할 수 있습니다.
👉addAttribute는 Map의 put과 같은 기능과 같아서 이를 통해 해당 모델에 원하는 속성과 그것에 대한 값을 주어 전달할 뷰에 데이터를 전달할 수 있습니다.
Spring에서 Controller의 메서드를 작성할 때는 특별하게 Model이라는 타입을 파라미터로 지정할 수 있습니다.
Model 객체는 JSP에 컨트롤러에서 생성된 데이터를 담아서 전달하는 역할을 하는 존재입니다.
이를 이용해서 JSP와 뷰(View)로 전달해야 하는 데이터를 담아서 보낼 수 있습니다.
메서드 파라미터에 Model 타입이 지정된 경우에는 스프링은 특별하게 Model타입의 객체를 만들어서 메서드에 주입하게 됩니다.
package com.mystudy.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class TestController {
@GetMapping("/test")
public void testMethod(Model model) {
String test = "model interface";
model.addAttribute("test", test);
}
}
<%@ 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>
<h1>Test</h1>
<h2>${test }</h2>
</body>
</html>