개발공부/JAVA,스프링

[스프링] Model 객체

sons369 2023. 2. 22. 15:36

스프링을 공부하다가 Model 객체에 대해서 궁금해졌다.

Model 이란?

Model 객체는 HashMap 형태를 갖고 있어, [Key, Value] 값을 갖고있다고 한다.

Controller에서 생성한 데이터를 담아서 View로 전달할 때 사용하는 객체이다

Model 사용법

addAttribute("key", value)를 통해서 model 객체에 값을 저장할 수 있다.

이렇게 추가된 값은 key를 통해서 value에 접근을 할 수 있다.

 

View에서 Model 접근하기

    @GetMapping("hello-mvc")
    public String helloMvc(@RequestParam("name") String name, Model model) {
        model.addAttribute("name", name);
        return "hello-template";
    }

Model 객체에 name(key)에 파라미터 쿼리로 받은 name(value)를 넣어준다.

<html xmlns:th="http://www.thymeleaf.org">
<body>
<p th:text="'hello ' + ${name}">hello! empty</p>
</body>
</html>

위에서 저장된 model 객체 값은 view에서 ${key}값으로 불러올 수 있다.

만약 model.addAttribute("name", "hello-world!"); 를 하면

view에서는 hello hello-world!가 뜬다.