본문 바로가기
Spring 입문

스프링MVC 입문06

by danny-j 2022. 11. 9.

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 반환

 

 

 

 

 

이미지 출처 - https://www.inflearn.com/course/스프링-입문-스프링부트

'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

댓글