Java

스프링 ViewResolver, ModelAndView에 알아보자.

자바 스프링 프레임웍의 ViewResolver와 ModelAndView에 대해 알아본다.

ViewResolver

Controller가 넘긴 view이름을 통해 해당 view를 찾는 역할을 하고 Spring 설정 파일에 등록한다.

Controller는 ModelAndview 객체에 응달할 view이름을 넣어 리턴하고 DispachServlet은 ViewResolver에게 응답할 view를 요청한다. ViewResolver는 View 이름을 이용해 알맞은 view 객체를 찾아DispatcherServlet에게 전달한다.

InternalResourceViewResolver

JSP나 HTML등의 내부 자원을 이용해 뷰를 생성하고 InternalResourceView를 기본 뷰로 사용한다.

BeanNameViewResolver

뷰의 이름과 동일한 이름을 가지는 빈을 View로 사용하며, 사용자 정의 View 객체를 사용하는 경우 주로 사용한다.

XmlViewResolver

BeanNameViewResolver와 동일 하나 뷰 객체를 xml 파일에 설정해 놓는 것이 차이점이고, Bean 등록 시 location 프라퍼티에 xml 파일을 지정한다.

ModelAndView

Controller 처리 결과 후 응답할 view와 view에 전달할 값을 저장한다.

1.생성자

ModelAndView(String viewName) : 응답할 view 설정

  • ModelAndView(String viewName, Map values) : 응답할 view와 view로 전달할값들을 저장 한 Map 객체
  • ModelAndView(String viewName, String name, Object value) : 응답할 view이름,view로 넘길 객체의 name-value


2.메소드

  • setViewName(String view) : 응답할 view이름을 설정
  • addObject(String name, Object value) : view에 전달할 값을 설정· requestScope에 설정됨
  • addAllObject(Map values) : view에 전달할 값을 Map에 name-value로 저장하여한번에 설정· requestScope에 설정됨


3.Redirect 방식

view이름에 redirect: 접두어가 붙는다. ex) mv.setViewName(“redirect:/welcome.html”);

[출처 : https://blog.naver.com/bignose7171/30141249980]

Leave a Reply

error: Content is protected !!