- 스프링에서 컨트롤러에서 view 에 데이터를 전달 하는 방법 2가지를 설명하시오.
- 아래의 객체를 설명하시오.
- Model
- ModelAndView
- 스프링에서 form 태그를 통해서 넘어온 값들을 스프링으로 받아내는 방법은?
Model 타입의 객체를 매개변수로 받고, 해당 객체에 속성을 추가함.
- Model 객체를 파라미터로 받음
- Model 객체에 데이터를 담음
- 컨트롤러에서 전달 받은 Model객체의 속성을 이용함.
ModelAndView 타입의 객체를 매개변수로 받거나 새로 선언한 뒤, 해당 객체에 데이터를 추가한 뒤 뷰 이름을 설정하고 해당 객체를 리턴
- ModelAndView 객체 생성
- Model 객체에 데이터를 담음
- 뷰이름 설정
@RequestMapping(value = "/content")
public void content(Model model) {
System.out.println("content()..");
model.addAttribute("id", 30);
model.addAttribute("age", 30);
model.addAttribute("name", "홍길동");
}
@RequestMapping("/reply")
public ModelAndView reply() {
System.out.println("reply()..");
ModelAndView mv = new ModelAndView();
mv.addObject("id",30);
mv.setViewName("board/reply");
return mv;
}
1) 예시
@GetMapping("/circle")
public String circle(HttpServletRequest request, Model model) {
System.out.println("circle()..");
double radius = Double.valueOf(request.getParameter("radius"));
Circle circle = new Circle(radius);
model.addAttribute("circle", circle);
return "/shape/circle";
}
2) 예시
@RequestMapping("/circle")
public String circle(@RequestParam("radius") double radius, Model model) {
System.out.println("circle()..");
Circle circle = new Circle(radius);
model.addAttribute("circle", circle);
return "/shape/circle";
}