Spring 입문 MVC와 템플릿엔진

1c2·2023년 8월 17일
0

Spring 입문

목록 보기
4/16

MVC: model, view, controller
기존 model1 방식으로는 view에서 controller의 기능까지 다 구현했었다.(jsp)
지금은 따로 분리해서 구현 (- 선택과 집중)

HelloController에 다음 코드를 추가한다.

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

template디렉토리에 hello-template.html생성

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

hello empty부분은 해당 페이지가 정적인 페이지로 열렸을 경우 표시된다.

서버를 실행한 뒤 http://localhost:8080/hello-mvc?name=spring 에 접속하면 다음과 같이 출력된다.

작동 흐름도를 보면 아래와 같다.

request가 오면 전에 했던 방식과 같이 hello-mvc에 맞는 controller를 찾아간다. controller를 보면 name이라는 파라미터를 받도록 되어 있고, 해당 값을 모델 name의 value로 넣어서 hello-template.html에 전달 후 랜더링 한다(view resolver).

해당 페이지의 소스를 보면 다음과 같이 나온다.

p태그 안에 hello spring이 출력되는 것을 확인할 수 있다.

0개의 댓글