-
Spring Controller Model modelSpring 2021. 12. 21. 19:06
Spring Model 객체
Controller의 메서드는 Model이라는 타입의 객체를 파라미터로 받을 수 있다. 순수 JSP Servlet은
request.setAttribute()
로 선언한 것을 Spring에서는model.addAttribute
로 대체할 수 있다.//JSP Servlet 방식 request.setAttribute("member", member ); //Model에 데이터를 보관한다. String viewPath = "/WEB-INF/views/save-result.jsp"; RequestDispatcher dispatcher = request.getRequestDispatcher(viewPath); dispatcher.forward(request. response);
//Spring 방식 @GetMapping public String members(Model model){ List<Member> members = memberRepository.findAll(); model.addAttribute("members",members); // 생략 가능하다. return "members"; }
model 추가를 직접 선언하지 않아도 파라미터만 선언해주면 자동으로 객체를 생성해준다.
스프링 MVC의 Controller는
Java Beans
규칙에 맞는 객체는 자동으로 화면에 전달해준다.
JavaBeans 규칙에 맞는다는 것은 생성자가 없거나 빈 생성자를 가지며, getter/setter를 가진 클래스의 객체들을 의미한다. 전달될 때는 클래스명의 앞글자를 소문자로 처리하여 전달한다.Controller Model 객체를 이용한 Validation 처리
Spring Controller Model 객체는 validation 처리에도 사용한다.
//validation 처리에 사용되는 Model 객체 @GetMapping("/members/new") public String createForm(Model model){ model.addAttribute("memberForm", new MemberForm()); //validation 처리를 위해 빈 껍데기로 선언한다. return "members/createMemberForm"; }
'Spring' 카테고리의 다른 글
@RestController (0) 2022.01.06 Spring @Valid와 BindingResult 파라미터 (0) 2021.12.21 스프링 구조의 이해 (0) 2021.11.30 MVC 프레임워크 생성 (0) 2021.11.28 HTTPServletRequest, Response, HTTP-API (0) 2021.11.25