Thymeleaf

์ •์˜

spring๊ณผ ํ•จ๊ป˜ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ํ…œํ”Œ๋ฆฟ ์—”์ง„

spring-mvc์˜ ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ์ƒ์„ฑํ•œ Model์˜ attribute๊ฐ€ context์— ๋‹ด๊ฒจ ์ „๋‹ฌ๋œ๋‹ค.

์ด attribute๋“ค์„ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์‚ฌ์šฉ๋ฒ•

๋ณ€์ˆ˜ ์‹: ${์‹}

<span th:text="${๋ณ€์ˆ˜๋ช…}">๋””ํดํŠธ๋ณ€์ˆ˜๊ฐ’</span>

๋ณ€์ˆ˜๊ฐ€ ๊ฐ์ฒด์ธ ๊ฒฝ์šฐ ๊ฐ์ฒด๋ช….ํ•„๋“œ๋ช… ์œผ๋กœ ํ•„๋“œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‚ด๋ถ€์ ์œผ๋กœ๋Š” ํ•„๋“œ์— ์ง์ ‘ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ getter๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์ด๋‹ค. (member.id โ†’ member.getId())

๋ฉ”์‹œ์ง€ ์‹: #{์‹}

<span th:text="#{member.register}">๋ฉ”์‹œ์ง€</span>
// message.properties
member.register=test message

์™ธ๋ถ€ ๋ฉ”์‹œ์ง€ ์ž์›(ex: properties)์—์„œ ๊ฐ’(๋ฌธ์ž์—ด)์„ ์ฝ์–ด์™€ ์ถœ๋ ฅํ•œ๋‹ค.

๋งํฌ ์‹: @{์‹}

<a href="#" th:href="@{/member}">๋งํฌ</a>

์ƒ๋Œ€ ๊ฒฝ๋กœ(์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ปจํ…์ŠคํŠธ) ๊ธฐ์ค€์œผ๋กœ ๋งํฌ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

๋งํฌ ๋‚ด์— ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

<a href="#" th:href="@{/member/{memberId}(memberId=${member.id})}">๋งํฌ</a>

๊ฐ์ฒด ํ‘œํ˜„์‹: *{ํ•„๋“œ}

<div th:object="${member}">
	<span th:text="*{id}">memberId</span>
	<span th:text="*{name}">memberName</span>
</div>

Last updated