[Spring] ModelAndView

이혜지·2021년 1월 20일
1
post-thumbnail

Model과 차이점은 Model은 데이터만 저장하는데,
ModelAndView데이터와 이동하고자 하는 View Page를 같이 저장한다

ModelAndView


  • Controller 처리 결과 후 응답할 view와 view에 전달할 값을 저장
  • 생성자
    • ModelAndView(String viewName) : 응답할 view 설정
    • ModelAndView(String viewName, Map values) : 응답할 view와 view로 전달할 값들을 저장한 Map 객체
    • ModelAndView(String viewName, String name, Object value) : 응답할 view 이름, view로 넘길 객체의 name-value
  • 주요 메소드
메소드내용
setViewName(String view)응답할 view 이름을 설정
addObject(String name, Object value)view에 전달할 값을 설정
addAllObject(Map values)view에 전달할 값을 Map에 name-value로 저장하여 한번에 설정

사용법


@RequestMapping("/api/member")
public ModelAndView view(){

//데이터와 뷰를 동시에 설정 가능하다 
ModelAndView mv = new ModelAndView(); 
mv.setViewName("/api/member"); //뷰의 이름
mv.addObject("data", "123");

return mv;

반환값으로 ModelAndView 객체를 반환한다.

ModelAndView 객체를 선언 및 생성한다.

뷰의 이름을 설정해줘야 하는데,
setViewName() 메소드를 이용한다.
mv.setViewName("뷰의 경로");

데이터를 보낼때는 addObject() 메소드를 이용한다.
mv.addObject("변수 이름", "데이터 값");

그리고
return mv;

ModelAndView 객체를 반환한다.

jsp단에서도 똑같이 EL언어를 사용 ${} (Body 내에)
Data : ${}

profile
공유 문화를 지향하는 개발자입니다.

0개의 댓글