반응형
@ModelAttribute
: DTO와 같은 모델을 커맨드 객체로 전달 받을 수 있음
@ModelAttribute의 경우 커맨드 객체를 생성하여 매개변수로 전달해 준 뒤 해당 인스턴스를 model에 담는다.
폼에서 입력한 값을 다음 화면으로 바로 전달해야 하는 경우 유용하게 사용할 수 있음
@ModelAttribute("모델에 담을 key값")을 지정할 수 있으며, 지정하지 않으면 타입의 앞 글자를 소문자로 네이밍 함
@Controller
@RequestMapping("/first/*")
public class FirstController {
@GetMapping("search")
public void search() {}
@PostMapping("search")
public String searchMenu(@ModelAttribute("menu") MenuDTO menu) {
return "first/searchResult";
}
}
jsp파일에서 호출하여 출력
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1 align="center"> Model에 담긴 커맨드 객체의 정보 출력 </h1>
<h3> 메뉴의 이름 : ${ menu.name }</h3>
<h3> 메뉴의 가격 : ${ menu.price }</h3>
<h3> 메뉴의 카테고리 : ${ menu.categoryCode }</h3>
<h3> 메뉴의 판매상태 : ${ menu.orderableStatus }</h3>
</body>
</html>
반응형
'프로그래밍 > Spring & Spring boot' 카테고리의 다른 글
[Spring / 스프링] @RequestBody (0) | 2022.09.06 |
---|---|
[Spring/스프링] @SessionAttributes를 이용하여 session에 값 담기 (0) | 2022.09.06 |
[Spring스프링] @RequestParam / required / defaultValue (0) | 2022.09.06 |
[Spring/스프링] @PathVariable (0) | 2022.09.06 |
[Spring / 스프링] @RequestMapping , @GetMapping , @PostMapping (0) | 2022.09.06 |