Model
- Model의 객체는 Controller에서 생성된 데이터를 담아 View로 전달할 때 사용하는 객체이다.
- addAttribute("key",value) 메서드를 사용해 view에 전달할 데이터를 key,value 형태로 전달할 수 있다.
@GetMapping("/list") //목록
public String list(Model model, @ModelAttribute("vo") PaginationVO vo) {
int totalCount = boardRepo.selectCount(vo);
vo.setCount(totalCount);
List<BoardDto> list = boardRepo.selectList(vo);
model.addAttribute("list",list);
return "board/list";
}
@ModelAttribute
- @ModelAttribute는 메서드의 매개변수에 사용되면 해당 매개변수에 데이터를 바인딩하거나 초기화하는 역할을 한다.
- Model 객체를 선언하지 않아도 해당 매개변수가 모델에 추가되어 뷰로 전달된다.
@RequestParam
- HTTP 요청의 파라미터 값을 컨트롤러 메서드의 매개변수에 바인딩하는 역할을 한다.
요약
간단하게 정리를 하자면,
Model은 컨트롤러에서 뷰로 데이터를 전달하는 역할
@ModelAttribute는 여러개의 인자들을 지정된 객체에 바인딩 시켜준다고 생각,
@RequestParam은 1개의 인자를 받는다고 생각하면 된다.
'Back-End > SpringBoot' 카테고리의 다른 글
김영한 스프링 기본 이론 정리1 (0) | 2025.03.18 |
---|---|
pom.xml (0) | 2023.09.04 |
SQL Injection (0) | 2023.08.27 |
스프링 import & export 방법, import 에러 해결 (0) | 2023.08.20 |
@어노테이션 && MVC패턴 (0) | 2023.04.29 |