1. Model과 ModelAndView의 차이점
Model은 데이터만 저장하고 ModelAndView는 데이터와 이동하고자 하는 View Page를 같이 저장
컨트롤러 처리 후 응답할 view와 view에 전달할 값을 저장
2. 생성자 유형
@GetMapping("content.do")
public ModelAndView read(long seq) {
Board board = boardService.read(seq);
ModelAndView mv = new ModelAndView("board/content", "board", board);
return mv;
}
"board/content" -> 응답할 view의 이름(jsp)
"board" -> name
board-> view로 넘길 객체의 name-value
3. 자주 사용하는 메소드
@GetMapping("list.do")
public ModelAndView list() {
List<Address> list = addressService.listS();
ModelAndView mv = new ModelAndView();
mv.setViewName("address/list"); //View의 경로
mv.addObject("list", list); //Model(변수 이름, 데이터 값
return mv; // return을 ModelAndView 객체를 반환
}
위 코드를 ModelAndView 생성자로 만들면 아래와 같다
ModelAndView mv = new ModelAndView("address/list", "list", "list")