@PostMapping("/regist")
public String registMenu(HttpServletRequest request, Model model) {
String name = request.getParameter("name");
int price = Integer.valueOf(request.getParameter("price"));
int categoryCode = Integer.valueOf(request.getParameter("categoryCode"));
String message = name + "을(를) 신규 메뉴 목록의 " + categoryCode + "번 카테고리에 " +
price + "원으로 등록하셨습니다.";
System.out.println(message);
model.addAttribute("message", message);
return "first/messagePrinter";
}
@PostMapping("modify")
public String modifyMenu(@RequestParam String modifyName,
@RequestParam(defaultValue="0") int modifyPrice, Model model) {
String message = modifyName + "메뉴의 가격을 " + modifyPrice + "로 변경하였습니다.";
model.addAttribute("message", message);
return "first/messagePrinter";
}
→ 요청 파라미터가 매핑되어 기존의 String형에서 파싱하는 작업이 없어짐.
→ Map과 같은 컬렉션이 넘어와도 처리가 가능하다.
@PostMapping("search")
public String searchMenu(@ModelAttribute("menu") MenuDTO menu) {
System.out.println(menu);
return "first/searchResult";
}
→ 모델에 담을 key값의 이름을 지정하지 않으면 menuDTO로 key값이 지정된다.
< @ModelAttribute를 컨트롤러에서 사용하기 위해서는 DTO에서 유의해야 할 사항 >