@ModelAttribute

수정이·2022년 7월 27일
0

Spring

목록 보기
10/16
post-thumbnail

@ModelAttribute

@ModelAttribute에는 두 가지 기능이 있다.
1. 요청 파라미터를 객체에 매핑해주는 기능과
2. Model에 객체를 자동으로 넣어주는 기능이 있다.

1번 기능은 어느 정도 익숙한 기능이지만, 2번 기능은 조금 생소한 기능이다.

2번 기능은 다음과 같이 사용하면 된다.

@PostMapping
public String addItem(@ModelAttribute(name="item") Item item, Model model) {
	itemRepository.save(item);
    // model.addAttribute("item", item);
    return "item";
}

@RequestParam으로 요청 파라미터를 받았으면, 모델객체에 데이터를 넣어줘야 view 쪽에서 데이터를 사용할 수 있다.
하지만 @ModelAttribute를 사용했을 경우에는 모델에 넣는 코드가 없어도 스프링에서 자동으로 넣어준다.

매개변수에 Model model이 없어도 스프링에서 자동으로 만들고 넣어준다!!!!

@PostMapping
public String addItem(@ModelAttribute Item item) {
	itemRepository.save(item);
    return "item";
}

@ModelAttributename속성을 생략하면 객체의 첫 글자를 소문자로 바꿔서 모델에 저장해준다.

@ModelAttribute 를 사용할 때는 Model 없이 쓰자!!


참고

김영한님의 스프링 MVC 1편

profile
공부는 꾸준히... 글쓰기도 꾸준히...

0개의 댓글