Web
Ch11. MVC 1 : ModelAndView
tose33
2022. 7. 18. 21:33
SurveyController.java
@Controller
@RequestMapping("/survey") // 이 클래스는 "/survey" 경로 처리
public class SurveyController
{
// GET 방식의 "/survey" 경로 요청 처리 (주소창 직접 입력은 GET 방식)
@GetMapping
public String form(Model model)
{
List<Question> questions = createQuestions();
model.addAttribute("questions", questions);
return "survey/surveyForm";
}
// ...
}
지금까지 컨트롤러는 위의 form() 메서드처럼 Model에 전달할 데이터를 추가하고, 뷰 이름을 String으로 리턴했다.
ModelAndView를 사용하면 두 가지를 한번에 할 수 있다.
@GetMapping
public ModelAndView form()
{
List<Question> questions = createQuestions();
ModelAndView mav = new ModelAndView();
mav.addObject(questions); // 뷰에 전달할 모델 데이터 추가
mav.setViewName("survey/surveyForm"); // 뷰 이름 설정
return mav;
}
ModelAndView 객체를 만들고,
addObject()로 뷰에 전달할 모델 데이터 추가
setViewName()으로 뷰 이름 설정
출처 : 스프링5 프로그래밍 입문 (최범균 저)