Model addAttribute(String attributeName, @Nullable Object attributeValue);
/**
* Add the supplied attribute to this {@code Map} using a
* {@link org.springframework.core.Conventions#getVariableName generated name}.
* <p><i>Note: Empty {@link java.util.Collection Collections} are not added to
* the model when using this method because we cannot correctly determine
* the true convention name. View code should check for {@code null} rather
* than for empty collections as is already done by JSTL tags.</i>
* @param attributeValue the model attribute value (never {@code null})
*/
Model에 데이터를 추가해주기 위한 Model인터페이스의 메서드!
model.addAttribute(name,value)value 객체를 name 이름으로 추가해준다.
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><title>Model Practice</title></head>
<body>
<div>
모델에 담긴 데이터가 뷰에 잘 전달되는지 확인!!<br>
</div>
<div>
(현재 날짜: <span th:text="${nowDate}"></span>)
</div>
</body>
</html>
뷰 페이지 구현
nowDate라는 이름을 통해 model에 의해 전달된 데이터를 보여준다.
@Controller
public class ModelPracticeController {
@GetMapping("/model/practice")
public String showLocalDate(Model model){
LocalDate now = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
String formatedNow = now.format(formatter);
model.addAttribute("nowDate",formatedNow);
return "model-practice";
}
}
해당 데이터를 담아 전달할 Controller 구현
현재 날짜를 원하는 모양으로 format하고 String으로 데이터를 model에 담아 전달한다.
원하는 데이터가 잘 담겨 넘어온 것을 확인할 수 있다