게시판을 만들면서 Model 객체를 사용했었다.
controller에서 다음과 같이 Model 객체를 사용해면 addAtrribute를 사용하여 데이터를 저장하고 이 데이터를 view로 보내준다.
view는 thymeleaf를 사용해서 html 내의 원하는 곳에 데이터를 뿌려준다.
//게시글 상세보기
@GetMapping("/post/{id}")
public String detail(@PathVariable("id") Long id, Model model) {
BoardDto boardDto = boardService.getBoard(id);
model.addAttribute("boardDto", boardDto);
return "board/detail";
}
처음에는 thymeleaf를 쓰는 거랑 Model을 쓰는 거랑 꼭 같이 쓰는 건가? thymeleaf를 쓰는 방법인가? 했는데
둘은 확실히 다른 영역이고, Model로 데이터를 보내서 jsp로 받을 수도 있다.
thymeleaf나 jsp나 view 영역에 속한다고 우선 이해했다.
Model과 유사한 ModelAndView도 있다.
데이터만 저장하는 Model과 달리 ModelAndView는 데이터와 이동하고자 하는 ViewPage를 같이 저장한다.
addObject를 통해 데이터를 저장하고, setViewName을 통해 이동하고자 하는 View를 저장하며 return type은 ModelAndView이다.
그리고 Model처럼 데이터만 저장하는 ModelMap도 있다!(Model은 인터페이스)
참고자료
'서버 > Spring boot' 카테고리의 다른 글
#Spring MVC (0) | 2022.01.26 |
---|---|
#H2연동하기 (0) | 2022.01.26 |
#자바에서 JSON형식 사용하기 (0) | 2022.01.25 |
#ARC를 통해 Java로 Open API가져오기 (0) | 2022.01.25 |
#MySQL 연결하기 (0) | 2022.01.24 |