반응형
@ModelAttribute의 또 다른 사용법
@ModelAttribute의 사용법에서 살펴본 것과 별개로 또 다르게 사용하는 @ModelAttribute에 대해 알아보겠다.
@ModelAttribute
public void categories(Model model) {
model.addAttribute("categories",List.of("study", "seminar", "hobby", "social"));
}
// 또는
@ModelAttribute("categories")
public List<String> categories(Model model) {
return List.of("study", "seminar", "hobby", "social");
}
위와 같이
@ModelAttribute
를 사용하게되면 이 메서드를 가지는 컨트롤러 안의 모든 메서드에 model정보를 넘겨주게 된다.Petclinic의 예로보면 아래와 같다.
@Controller @RequestMapping("/owners/{ownerId}") class PetController { ... @ModelAttribute("owner") public Owner findOwner(@PathVariable("ownerId") int ownerId) { return this.owners.findById(ownerId); } ... }
- 위와 같이 PetController안에 "owner"라는 @ModelAttribute가 있어서 컨트롤러 안의 모든 핸들러에서 해당 owner의 모델 정보를 사용할 수 있게된다.
반응형
'Web > Spring' 카테고리의 다른 글
[Spring MVC] @ExceptionHandler 사용하기 (0) | 2020.02.04 |
---|---|
[Spring MVC] @InitBinder 사용하기 (1) | 2020.02.04 |
[Spring MVC] @ResponseBody와 ResponseEntity (0) | 2020.01.24 |
[Spring MVC] @RequestBody와 HttpEntity 사용하기 (0) | 2020.01.23 |
[Spring MVC] ResponseEntity를 사용해서 파일 다운로드 구현 (0) | 2020.01.23 |