Spring - ModelandView

이정규 (가지마)·2023년 7월 29일
0

[ModelAndView 예제]


@Controller
@RequestMapping("/main")
public class BoardController {

    @RequestMapping(value = "/")
    public ModelAndView index() {
        ModelAndView mav = new ModelAndView();
        mav.addObject("name", "홍길동");
        mav.setViewName("main/index");

        return mav;
    }

    @RequestMapping(value = "/")
    public ModelAndView index() {
        ModelAndView mav = new ModelAndView();

        List<BoardDto> lists = boardService.getLists(start, end, searchKey, searchValue);
        mav.addObject("lists", list);
        mav.setViewName("main/index");

        return mav;
    }
}

[Model예제]

@Controller
@RequestMapping("/main")
public class BoardController {

    @RequestMapping(value = "/")
    public String index(Model model) {
        model.addAttribute("name", "홍길동");

        return model;
    }

    @RequestMapping(value = "/")
    public String index(Model model) {
        model.addAttribute("lists", boardService.getLists(start, end, searchKey, searchValue));
        return "main/index";
    }
}

Model 방식은 메서드에 파라미터로 넣어주고 String 형태로 값을 반환시키는반면에
ModelAndView 방식(컴포넌트 방식)은 ModelAndView객체를 생성해서 객체 형태로 반환한다.

-Model + View 를 합쳐놓은 방식
-값을 넣을떄 : addObject()를 사용하고, 값을 보낼 View를 세팅하는 것은 setViewName()을 사용한다.

profile
"꾸준함이 답이다."

1개의 댓글

comment-user-thumbnail
2023년 7월 29일

잘 읽었습니다. 좋은 정보 감사드립니다.

답글 달기