๐ Thymeleaf์ JSP ํ
ํ๋ฆฟ ์์ง ๋น๊ต
- ์ ์:
- JSP (JavaServer Pages): ์๋ฐ ๊ธฐ๋ฐ์ ์๋ฒ ์ฌ์ด๋ ํ
ํ๋ฆฟ ์์ง
- Thymeleaf: ํ๋์ ์ธ ์๋ฒ ์ฌ์ด๋ Java ํ
ํ๋ฆฟ ์์ง
- ๋ฌธ๋ฒ:
- JSP: HTML ๋ด์ Java ์ฝ๋๋ฅผ ์ง์ ์ฝ์
(<% %> ํ๊ทธ ์ฌ์ฉ)
- Thymeleaf: HTML ์์ฑ์ ์ด์ฉํ ์์ฐ์ค๋ฌ์ด ํ
ํ๋ฆฟ (th:* ์์ฑ ์ฌ์ฉ)
- ํ์ต ๊ณก์ :
- JSP: Java ๊ฐ๋ฐ์์๊ฒ ์น์ํ์ฌ ํ์ต์ด ์๋์ ์ผ๋ก ์ฌ์
- Thymeleaf: ์ด๊ธฐ ํ์ต์ ์๊ฐ์ด ํ์ํ์ง๋ง, HTML๊ณผ ์ ์ฌํ์ฌ ๋์์ด๋์์ ํ์
์ ์ ๋ฆฌ
- ์ฑ๋ฅ:
- JSP: ์ปดํ์ผ ํ ์คํ๋์ด ์ผ๋ฐ์ ์ผ๋ก ๋น ๋ฅธ ์ฑ๋ฅ
- Thymeleaf: ํด์ ๊ณผ์ ์ด ํ์ํ์ฌ JSP๋ณด๋ค ์ฝ๊ฐ ๋๋ฆด ์ ์์
- ์ ์ง๋ณด์:
- JSP: ๋น์ฆ๋์ค ๋ก์ง๊ณผ ํํ ๋ก์ง์ด ์์ผ ์ ์์ด ์ ์ง๋ณด์๊ฐ ์ด๋ ค์ธ ์ ์์
- Thymeleaf: ๋ก์ง๊ณผ ๋ทฐ์ ๋ถ๋ฆฌ๊ฐ ๋ช
ํํ์ฌ ์ ์ง๋ณด์๊ฐ ์ฉ์ด
- ์คํ๋ง ํตํฉ:
- JSP: ์คํ๋ง๊ณผ ์ฌ์ฉ ๊ฐ๋ฅํ์ง๋ง ์๋ฒฝํ ํตํฉ์ ์๋
- Thymeleaf: ์คํ๋ง๊ณผ์ ํตํฉ์ด ๋งค์ฐ ์ฐ์, ์คํ๋ง ๊ธฐ๋ฅ์ ์์ฐ์ค๋ฝ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅ
- ์ ์ ํ๋กํ ํ์ดํ:
- JSP: ์๋ฒ ์์ด ํ
ํ๋ฆฟ๋ง์ผ๋ก๋ ๋ ๋๋ง ๋ถ๊ฐ
- Thymeleaf: ์๋ฒ ์์ด๋ ์ ์ ํ๋กํ ํ์ดํ ๊ฐ๋ฅ
- ๋ณด์:
- JSP: XSS ๊ณต๊ฒฉ์ ์ทจ์ฝํ ์ ์์, ๋ณ๋์ ์ฒ๋ฆฌ ํ์
- Thymeleaf: ๊ธฐ๋ณธ์ ์ผ๋ก XSS ๋ฐฉ์ง ๊ธฐ๋ฅ ๋ด์ฅ
- ์ต์ ๊ธฐ์ ์ง์:
- JSP: ๋ ๊ฑฐ์ ๊ธฐ์ ๋ก ๊ฐ์ฃผ๋๋ฉฐ, ์๋ก์ด ๊ธฐ๋ฅ ์ถ๊ฐ๊ฐ ์ ํ์
- Thymeleaf: ์ง์์ ์ธ ์
๋ฐ์ดํธ์ ์ต์ ์น ๊ฐ๋ฐ ํธ๋ ๋ ๋ฐ์
- ์ฌ์ฉ ์ฌ๋ก:
- JSP: ๋ ๊ฑฐ์ ์์คํ
- Thymeleaf: ํ๋์ ์ธ ์คํ๋ง ๊ธฐ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์
โ
Thymeleaf ์ ์ฉ
๐ Model ์ธํฐํ์ด์ค
Spring Framework์์ Model ๊ฐ์ฒด๋ ์ปจํธ๋กค๋ฌ ๋ฉ์๋์์ ๋ทฐ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. Model์ key-value ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ , ์ด๋ฅผ ๋ทฐ์์ ๋ ๋๋งํ ์ ์๋๋ก ์ ๊ณตํฉ๋๋ค.