HttpServletRequest 방식으로 값 꺼내기

@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";
	}

@RequestParam 방식으로 값 꺼내기

@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과 같은 컬렉션이 넘어와도 처리가 가능하다.

@ModelAttribute를 이용하는 방법

@PostMapping("search")
	public String searchMenu(@ModelAttribute("menu") MenuDTO menu) {
		System.out.println(menu);  
		return "first/searchResult";
	}

→ 모델에 담을 key값의 이름을 지정하지 않으면 menuDTO로 key값이 지정된다.

< @ModelAttribute를 컨트롤러에서 사용하기 위해서는 DTO에서 유의해야 할 사항 >