์คํ๋ง ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ณ ๋ ์งํ์๋ ํ๋ก์ ํธ๋ฅผ ์คํํ ํ localhost์ ์ ์ํ๋ฉด Error ํ์ด์ง๋ง ๋ฌ๋ค. (์ด์ ๊ฒ์๋ฌผ ์ฐธ๊ณ )
์ด๋ฒ์๋ ์๋ฌ ํ์ด์ง๊ฐ ์๋ ์ค์ ๋ด๊ฐ ์์ฑํ ํ์ด์ง๋ฅผ ๋์๋ณด๋ ค๊ณ ํ๋ค.
์คํ๋ง ๋ถํธ์์๋ Welcome Page ๊ธฐ๋ฅ์ ์ ๊ณตํ๋๋ฐ, src/main/resources/static/index.html์ ์ํ๋ html ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ๋๋ค. ๊ณต์ ๋ฌธ์๋ฅผ ์ฝ์ด๋ณด๋ฉด, http://localhost:8080์ผ๋ก ์ ์ํ ๋ static์์ ์๋์ผ๋ก index.html์ ์ฐพ์ ๋์์ค๋ค๊ณ ํ๋ค. (https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/html/spring-boot-features.html#boot-features-spring-mvc-welcome-page ์ฐธ๊ณ )
<!DOCTYPE HTML>
<html>
<head>
<title>Hello</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
Hello๐ Welcome to my study page.
<a href="/hello">hello</a>
</body>
</html>
์ด๋ฒ์๋ ์ ์ ๋ฐ์ดํฐ๊ฐ ์๋ ๋์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ธฐ ์ํด thymeleaf ํ ํ๋ฆฟ ์์ง์ ํ์ฉํ์๋ค.
?? Thymeleaf ํ ํ๋ฆฟ ์์ง์ด๋ ??
: ์ง์ ๋ ํ ํ๋ฆฟ ์์๊ณผ ๋ฐ์ดํฐ๊ฐ ํฉ์ณ์ ธ html ๋ฌธ์๋ฅผ ์ถ๋ ฅํ๋ ์ํํธ์จ์ด.
ํฌ๊ฒ ์๋ฒ ํ ํ๋ฆฟ ์์ง๊ณผ ํด๋ผ์ด์ธํธ ํ ํ๋ฆฟ ์์ง์ผ๋ก ๋๋๋๋ฐ, ํ์๋ฆฌํ๋ ์ ์์ ํด๋นํ๋ค. ์๋ฒ์์ DB ๋๋ API ๋ฑ์ ํตํด ๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ์ ์๋ ํ ํ๋ฆฟ์ ๋ฃ์ด html์ ๊ทธ๋ ค๋ด ํด๋ผ์ด์ธํธ์ ์ ๋ฌํด์ค๋ค. ์ฆ, html ์ฝ๋์์ ๊ณ ์ ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ถ๋ถ์ ํ ํ๋ฆฟ์ผ๋ก ๋ง๋ค์ด๋๊ณ ๋์ ์ผ๋ก ์์ฑ๋๋ ๋ถ๋ถ๋ง ํ ํ๋ฆฟ ํน์ ์ฅ์์ ๋ผ์๋ฃ๋ ๋ฐฉ์์ผ๋ก ๋์ํ ์ ์๊ฒ ํ๋ ๊ฒ์ด๋ค.
๋จผ์ hellospring/controller/HelloController.java ํ์ผ์ ์์ฑํ์ฌ @Controller ์ด๋ ธํ ์ด์ ์ผ๋ก ์ปจํธ๋กค๋ฌ๋ฅผ ๋ง๋ค๊ณ model์ pageName์ value๋ฅผ study๋ก ์ค์ ํ์๋ค.
@Controller
public class HelloController {
@GetMapping("hello")
public String hello(Model model){
model.addAttribute("pageName", "study");
return "hello"; // templates/hello.html์ ์ฐพ์ ๋ ๋๋ง
}
}
๊ทธ๋ฆฌ๊ณ templates/hello.html์์ ${pageName} value๋ฅผ ๋ฃ์ด ๋ฌธ์ฅ์ ์์ฑ์์ผฐ๋ค.
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Hello</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p th:text="'Hello๐ Welcome to my '+ ${pageName} +' page.'"></p>
</body>
</html>
์ด์ ์๋ฒ๋ฅผ ์ฌ์คํํ๊ณ /hello๋ก ์ ์ํ๊ฒ ๋๋ฉด
์ด๋ ๊ฒ Thymeleaf ํ ํ๋ฆฟ ์์ง ์ฒ๋ฆฌ๋ฅผ ํตํด ${pageName} ์ ๊ฐ์ด study๋ก ์ ๋ค์ด๊ฐ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ ์ ๋ฐ์ดํฐ์ ๋์ ๋ฐ์ดํฐ์ ์ฐจ์ด๊ฐ ๊ถ๊ธํ๋ค๋ฉด?