์์ฒญ ํ๋ผ๋ฏธํฐ ์ฒ๋ฆฌ
@ModelAttribue Item item
@PostMapping("/add")
public String addItem(@ModelAttribute Item item,Model model) {
itemRepository.save(item);
model.addAttribute("item",item);
return "basic/item";
}
์์ฒญ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฐ์์ ํ์ํ ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ณ ๊ทธ ๊ฐ์ฒด์ ๊ฐ์ ๋ฃ์ด์ฃผ๊ธฐ
์์ฒญ ํ๋ผ๋ฏธํฐ์ ๊ฐ์ ํ๋กํผํฐ ์ ๊ทผ๋ฒ(setXxx)์ผ๋ก ์ ๋ ฅํด์ค๋ค.
public String addItemV1(@RequestParam String itemName,
@RequestParam int price,
@RequestParam Integer quantity,
Model model) {
Item item = new Item();
item.setItemName(itemName);
item.setPrice(price);
item.setQuantity(quantity);
์์ ๊ธฐ๋ฅ๋ค์ @ModelAttribute ๊ฐ ์๋์ผ๋ก ํด์ค๋ค
๋ชจ๋ธ์ ๋ฐ์ดํฐ ๋ด๊ธฐ
@PostMapping("/add")
public String addItem(@ModelAttribute("item") Item item) {
itemRepository.save(item);
// model.addAttribute("item",item);
return "basic/item";
}
๋ชจ๋ธ์ ๋ฐ์ดํฐ๋ฅผ ๋ด์ ๋๋ ์ด๋ฆ์ด ํ์ํ๋ค.
์ด๋ฆ์ @ModelAttribute ์ ์ง์ ํ name(value) ์์ฑ์ ์ฌ์ฉํ๋ค.
Model ๊ฐ์ฒด,๋ฉ์๋ ์๋ต๊ฐ๋ฅ / ์๋ ์ถ๊ฐ
// model.addAttribute("item",item);
@ModelAttribute Item item
@ModelAttribute ์ ์ด๋ฆ์ ์๋ตํ๋ฉด ๋ชจ๋ธ์ ์ ์ฅ๋ ๋ ํด๋์ค๋ช
์ ์ฌ์ฉํ๋ค.
์ด๋ ํด๋์ค์ ์ฒซ๊ธ์๋ง ์๋ฌธ์๋ก ๋ณ๊ฒฝํด์ ๋ฑ๋กํ๋ค.
redirect
์ํ ์์ ์ ๋ง์ง๋ง์ ๋ทฐ ํ ํ๋ฆฟ์ ํธ์ถํ๋ ๋์ ์ ์ํ ์์ธ ํ๋ฉด์ผ๋ก ์ด๋ํ๋๋ก ๋ฆฌ๋ค์ด๋ ํธ๋ฅผ ํธ์ถํ๋ค.
return "redirect:/basic/items/{itemId}";
์คํ๋ง์ redirect:/... ์ผ๋ก ํธ๋ฆฌํ๊ฒ ๋ฆฌ๋ค์ด๋ ํธ๋ฅผ ์ง์ํ๋ค.
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard