๋ทฐ(View)๋ฅผ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌํ๊ธฐ ์ํด ์ต์ข
์ ์ผ๋ก
HTML์ด๋ ๋ค๋ฅธ ํํ์ ์๋ต์ ์์ฑํ๋ ๊ณผ์
์น ์ ํ๋ฆฌ์ผ์ด์
์์ ์ปจํธ๋กค๋ฌ๊ฐ ๋ฐํํ ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฅผ
์ค์ ์ฌ์ฉ์์๊ฒ ๋ณด์ฌ์ง ํํ๋ก ๋ณํํ๋ ๋จ๊ณ
2.Spring Boot Rendering ๊ณผ์
2-1.์ปจํธ๋กค๋ฌ์์ ์์ฒญ ์ฒ๋ฆฌ ๋ฐ ๋ชจ๋ธ ๋ฐ์ดํฐ ๋ฐํ
์ปจํธ๋กค๋ฌ๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ณ , ๋ทฐ ์ด๋ฆ๊ณผ ํจ๊ป ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฅผ ๋ฐํ
Spring Boot์์๋ @Controller ๋๋ @RestController ์ ๋
ธํ
์ด์
์ ์ฌ์ฉํ์ฌ ์ปจํธ๋กค๋ฌ๋ฅผ ์ ์
@ Controller
public class MyController {
@ GetMapping ("/greeting" )
public String greeting (Model model ) {
model .addAttribute ("message" , "Hello, Spring Boot!" );
return "greeting" ; // ๋ทฐ ์ด๋ฆ
}
}
2-2.๋ทฐ ๋ฆฌ์กธ๋ฒ(View Resolver) ํธ์ถ
DispatcherServlet์ ์ปจํธ๋กค๋ฌ๊ฐ ๋ฐํํ ๋ทฐ ์ด๋ฆ์ ๋ฐํ์ผ๋ก ๋ทฐ ๋ฆฌ์กธ๋ฒ(ViewResolver)๋ฅผ ํธ์ถ
๋ทฐ ๋ฆฌ์กธ๋ฒ๋ ๋ทฐ ์ด๋ฆ์ ๋ฐํ์ผ๋ก ๋ทฐ ๊ฐ์ฒด๋ฅผ ์์ฑํฉ๋๋ค.
์ด ๊ฐ์ฒด๋ JSP, Thymeleaf, FreeMarker ๋ฑ์ผ๋ก ์์ฑ๋ ํ
ํ๋ฆฟ์ ์ฒ๋ฆฌํฉ๋๋ค.
2-4.๋ชจ๋ธ ๋ฐ์ดํฐ์ ๋ทฐ ๋ ๋๋ง
์์ฑ๋ ๋ทฐ ๊ฐ์ฒด๋ ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ต์ข
HTML์ ์์ฑํฉ๋๋ค.
์๋ฅผ ๋ค์ด, Thymeleaf ํ
ํ๋ฆฟ ์์ง์ ๋ชจ๋ธ ๋ฐ์ดํฐ๋ฅผ ํ
ํ๋ฆฟ์ ์ฝ์
ํ์ฌ HTML์ ์์ฑํฉ๋๋ค.
<!-- src /main /resources /templates /greeting .html -->
<!DOCTYPE html >
<html xmlns :th ="http://www.thymeleaf.org" >
<head >
<title >Greeting </title >
</head >
<body >
<h1 th :text ="${message}" >Hello , Spring Boot !</h1 >
</body >
</html >
2-5.ํด๋ผ์ด์ธํธ ์๋ต
๋ ๋๋ง๋ HTML์ด ํด๋ผ์ด์ธํธ์๊ฒ ์๋ต์ผ๋ก ์ ๋ฌ๋ฉ๋๋ค.
ํด๋ผ์ด์ธํธ๋ ์ด๋ฅผ ๋ธ๋ผ์ฐ์ ์ ํ์ํ์ฌ ์ต์ข
๊ฒฐ๊ณผ๋ฅผ ํ์ธํฉ๋๋ค.