728x90

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 : ${}
'BackEnd > Spring' 카테고리의 다른 글
[Spring] 스프링에서 Property 파일 다루기 ( @PropertySource, @Value) (0) | 2021.12.28 |
---|---|
[Spring] SpringBoot JSTL 사용하여 Controller 에서 ModelAndView를 이용하여 View로 넘겨주기 (0) | 2021.12.28 |
[Spring] SpringBoot Path with "WEB-INF" or "META-INF" 오류 (0) | 2021.12.28 |
[Spring] SpringBoot PostgreSQL DB연결 (0) | 2021.12.28 |
[JPA] Spring Data JPA 기초 (1) -Repository 종류 (0) | 2021.12.28 |
댓글