본문 바로가기
Spring

72일차// Spring Model 객체란?

by aesup 2021. 4. 20.
728x90

Spring Model 객체

Controller의 메서드는 Model이라는 타입의 객체를 파라미터로 받을 수 있다.


순수하게 JSP Servlet으로 웹 어플리케이션을 만들 때 보통 request나 session 내장객체에 정보를 담아 jsp에 넘겨주곤 했는데 Spring에서는 Model이라는 녀석을 쓴다.


 request.setAttribute() 와 비슷한 역할을 하는 것.

 

request.setAttribute("time", new java.util.Date()); RequestDispatcher dispatcher = request.getRequestDispatcher("url"); dispatcher.forward(request, response);

위 코드는 jsp로 게시판을 만들때 많이 사용했던 형태의 코드이다.
스프링에서는 다음과 같이 처리한다.

public String home(Model model) { model.addAttribute("time", new java.util.Date()); return "home"; }

편리한 점은 개발자는 직접 model을 생성할 필요는 없다. 다만 파라미터로 선언만 해주면 스프링이 알아서 만들어준다.

스프링 MVC의 Controller는 기본적으로 Java Beans 규칙에 맞는 객체는 자동으로 화면에 전달해준다.
Java Beans의 규칙에 맞는다는 것은 단순히 생성자가 없거나 빈 생성자를 가지며, getter/setter를 가진 클래스의 객체들을 의미한다.
전달될 때는 클래스명의 앞글자를 소문자로 처리하여 전달한다.

그러나 기본자료형(int, double등등)은 파라미터로 선언되었더라도 화면에 자동으로 전달되지 않는다.

728x90