Notice
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
관리 메뉴

Jade_o.o

[Spring] Thymeleaf 표현식과 문법 본문

Spring

[Spring] Thymeleaf 표현식과 문법

by jade 2024. 5. 22. 19:35
Thymeleaf 표현식
• 서버에서 전달받은 데이터를 사용자들이 볼 수 있는 뷰로 만들기 위해 사용되는 표현식
표현식  설명
${…}  변수의 값 표현식
#{…} 속성 파일 값 표현식
@{…}  URL 표현식
*{…}  선택한 변수의 표현식,  th:object 에서 선택한 객체에 접근

Thymeleaf 문법
• HTML 태그 안에 소 문법을 추가
• div 태그 뿐만 아니라 HTML 에서 지원하는 태그들 모두 사용 가능
<div th:[속성] = "서버에서 받는 값 및 조건식" />

th:text
• 태그 안의 텍스트를 서버에서 전달받은 값에 따라 표현하고자 할 때 사용하는 문법
<span th:text="${hello}">message</span>

th:utext
• th:text와 유사 • 변수에서 받은 값에 html 태그가 있다면 태그 값을 반영해서 표시해줌
• “<strong>안녕</strong>” 값이 서버에서 넘어왔다면 <strong> 이라는 글자가 나 오는 것이 아닌 “안녕”이라는 글자가 <strong> 태그에 의해 굵게 표시됨

th:value
• HTML Element 의 value 속성 값을 지정할 때 사용
<button th:value="${hello}" />

th:with
• 변수 값을 지정해서 사용하고자 할 때 사용
• 밑에 있는 코드와 같이 사용한다면 서버에서 전달받은 ‘hello’ 값이 저장된 temp 라는 변수가 만 들어지고, Thymeleaf 문법 내에서 사용 가능
<div th:with="temp=${hello}" th:text="${temp}" />

th:switch
• switch-case문을 이용할 때 사용되는 문법
• th:case 에서 case 문을 다루고, * 로 case문에서 다루지 않은 모든 경우가 처리됨
( * 는 일반 switch-case 문법에서의 default)
<div th:switch="${hello}">
	<p th:case="'admin'">hello is admin</p>
    <p th:case="'manager'">hello is manager</p>
    <p th:case="*">hello is other</p>
</div>

th:if
• 조건문이 필요할 때 사용되는 문법
• else 문이 필요한 경우에는 th:unless 를 사용
• 주의! th:unless 에 if에 적은 조건을 적어줘야 위의 if가 아닌 경우를 인식 가능
<p th:if="${hello} == 'web'" th:text="${hello}"></p>
<p th:unless="${hello} == 'web'" th:text="unless입니다."></p>

th:each
• 반복문이 필요한 경우에 사용되는 문법
• 리스트와 같은 collection 자료형을 서버에서 넘겨주면 그에 맞춰 반복적인 작업이 이루어질 때 사용 가능
String[] names = {"kim", "lee", "hong", "park", "shin"};
model.addAttribute("names", names);
return "Thymeleaf";
<ul>
	<li th:each="name:${names}">
    	<span th:text="${name}">이름</span>
	</li>
</ul>

'Spring' 카테고리의 다른 글

[Spring] Spring Thymeleaf 템플릿 정의  (0) 2024.05.22
[Spring] Spring MVC  (0) 2024.05.22
[Spring] Spring Boot 개념과 특징  (0) 2024.05.22
[Spring] Spring 개념과 특징  (0) 2024.05.22