작성한 질문수
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
체크 박스 - 멀티
작성
·
397
0
필드에 Map을 만들어 주고 각 폼마다 가져다 쓰면 되지 않을까요?
답변 1
안녕하세요. 김형민님, 공식 서포터즈 David입니다.
@modelattribute 를 사용하여 각 폼에서 목록을 가져오게 합니다.
이 방법 말고 다른 방법을 말씀하시는 걸까요? 그렇다면 어떻게 생각하시는지 코드로 간단하게 보여주실 수 있으실까요?
감사합니다.
public class FormItemController { private final ItemRepository itemRepository; private ItemType[] itemTypes = ItemType.values(); @GetMapping("/{itemId}") public String item(@PathVariable long itemId, Model model) { Item item = itemRepository.findById(itemId); model.addAttribute("item", item); model.addAttribute("itemTypes", itemTypes); return "form/item"; } @GetMapping("/add") public String addForm(Model model) { model.addAttribute("item",new Item()); model.addAttribute("itemTypes", itemTypes); return "form/addForm"; } ... }
이런 식으로 쓸 수 있지 않나요?
단순히 addAttibute를 편하게 하기위해 쓰는 건가요??
강의 후반부에 Map을 반환하는 함수에 @ModelAttribute로 한 번 선언하여 각 폼에 전달하는 방법을 알려줍니다.
확인해보시면 좋을 것 같습니다.