MVC와 템플릿 엔진
- 웹브라우저에서 요청을 보냄
- 내장 톰캣 서버에서 요청에 맞는 컨트롤러의 맵핑된 메서드로 보냄
- 컨트롤러에서 비즈니스 로직 처리 후 viewResolver에서 템플릿 엔진을 처리
- html로 변환 후 클라이언트로 응답
hello-template.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<body>
<p th:text="'Hello '+${name}">hello! empty</p>
</body>
</html>
- <p th:text="'Hello '+${name}">hello! empty</p> - p태그안의 내용(content)는 없어도 되지만 적어줌으로써 안에 들어갈 내용을 협업하는 사람들에게 알릴 수 있음
- ${name} - Controller에서 보낸 값을 치환 됨
Controller
@GetMapping("hello-mvc")
public String helloMvc(@RequestParam("name") String name, Model model){
model.addAttribute("name", name);
return "hello-template";
}
- Control(command)+p를 누르면 옵션을 볼 수 있음
- @RequestParam의 required는 default가 true라서 무조건 값이 있어야 함
- @RequestParam(name = "name", required = false) - null을 받게할 수도 있음
실행 결과
- HTTP의 Get방식으로 '?name=value'로 url뒤에 붙혀서 요청을 보냄
- 요청을 보낸 value가 Thymeleaf 템플릿 엔진 처리에 의해서 ${name}에 value인 danny를 넣어서 html 반환
'Spring 입문' 카테고리의 다른 글
스프링MVC 입문08 (0) | 2022.11.09 |
---|---|
스프링MVC 입문07 (0) | 2022.11.09 |
스프링MVC 입문05 (0) | 2022.11.09 |
스프링MVC 입문04 (0) | 2022.11.09 |
스프링MVC 입문03 (0) | 2022.11.09 |
댓글