강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

김형민님의 프로필 이미지
김형민

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

체크 박스 - 멀티

Map을 왜 폼마다 각각 만들어 넣어줘야하는 지 모르겠습니다.

작성

·

397

0

필드에 Map을 만들어 주고 각 폼마다 가져다 쓰면 되지 않을까요? 

답변 1

0

안녕하세요. 김형민님, 공식 서포터즈 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로 한 번 선언하여 각 폼에 전달하는 방법을 알려줍니다.

확인해보시면 좋을 것 같습니다.

김형민님의 프로필 이미지
김형민

작성한 질문수

질문하기