728x90
반응형
ModelAndView를 통한 뷰 선택과 모델을 전달해 보는 것에 대해 알아보겠습니다.
ModelAndView를 통한 뷰 선택과 모델 전달
ModelAndView를 사용하면 이 두 가지를 한 번에 처리할 수 있습니다. 요청 매핑 애노테이션을 적용한 메서드는 String 타입 대신 ModelAndView를 리턴할 수 있습니다.
@Controller
@RequestMapping("/survey")
public class SUrveyController{
@GetMapping
public ModelAndView form() {
List<Question> questions = createQuestions();
ModelAndView mav = new ModelAndView();
mav.addObject("questions", questions);
mav.setViewName("survey/surveyForm");
return mav;
}
@PostMapping
public String submit(@ModelAttribute("ansData") AnsweredData data) {
return "sruvey/submitted";
}
private List<Question> createQuestions() {
Question q1 = new Question("당신의 역할은 무엇입니까?", Arrays.asList("서버", "프론트", "풀스택"));
Question q2 = new Question("많이 사용하는 개발도구는 무엇입니까?", Arrays.asList("이클립스", "인텔리제이", "서브라임"));
Question q3 = new Question("하고 싶은 말을 적어주세요");
return Arrays.asList(q1, q2, q3);
}
}
뷰에 전달할 모델 데이터는 addObejct() 메서드로 추가합니다. 뷰 이름은 setViewName() 메서드를 이용해서 지정합니다.
728x90
반응형
'Spring' 카테고리의 다른 글
[Spring] Spring Message 기능 사용해보기 (0) | 2024.05.07 |
---|---|
[Spring] GET , POST 방식에 동일 이름 커맨드 객체 사용하기 (0) | 2024.04.29 |
[Spring] MVC 주요 에러 발생 원인 알아보기 (Logback 설정) (0) | 2024.04.17 |
[Spring] 디폴트 핸들러와 HandlerMapping의 우선순위 (0) | 2024.04.08 |
[Spring] JSP를 위한 ViewResolver (0) | 2024.04.08 |