<html lang="en" xmlns:th="http://www.thymeleaf.org">
${key} : 변수, Model 등으로 전달된 데이터의 key 입력 시 value 출력
<p text=${member}></p>
<p text=${member.memberNo}</p>
- *{key} : 선택 변수, 객체에 포함된 필드를 출력
- th:object 속성과 같이 사용
<!-- member 객체의 필드 memberNo와 memberPw 등을 출력 -->
<div obejct="${member}">
<span text="*{memberNo}"></span>
<span text="*{memberId}"></span>
</div>
#{key} : Message Expression
src/main/resoources/messages.properties에 작성된 값을 얻어와 출력
@{url} : 링크 URL, URL 형식 출력
<!-- 단순 url-->
<a href="@{/board}">단순 url</a>
<!-- 쿼리스트링 포함 url-->
<a href="@{/board(key=${key}, queyr=${query})}">쿼리스트링 포함</a>
<!-- PathVariable 포함 url-->
<a href="@{/board/{boardCode}/{boardNo}(boardCode=${boardCode}, boardNo=${boardNo})}">PathVar
th:text, th:value
- 지정된 내용을 Text 형식으로 내용, input의 value로 출력
<!-- request scope에 key="memberName" value="홍길동" 이 있을 경우-->
<p text="${memberName}">회원이름</p>
<input type="text" value="${memberName}">
<!-- 랜더링 결과 -->
<p>홍길동</p>
<input type="text" value="홍길동">
- < th:block >
- Thymeleaf의 유일한 자체 태그
- Thymeleaf는 HTML 태그 내에 th 속성을 작성하여 기능을 정의하는게 일반적이지만 마땅한 HTML 태그가 없을 경우에 사용
th:if = "${조건}" / th:unless = ${조건} -> if//else 문
th:fragment="조각 이름"
- html 중 공통된 부분(반복되는 코드)을 조각(fragment)으로 지정
<nav fragment="nav"> <!-- 해당 요소에 nav라는 조각 이름을 지정-->
<ul>
<li><a href="#">공지사항</a></li>
<li><a href="#">자유 게시판</a></li>
<li><a href="#">질문 게시판</a></li>
<li><a href="#">FAQ</a></li>
<li><a href="#">1:1문의</a></li>
<li><a href="/chatting">채팅</a></li>
</ul>
</nav>
th:replace="~{조각파일경로 :: 조각이름}"
- 해당 속성이 작성된 요소를 지정된 조각으로 바꾸는 속성
<!-- 해당 요소를 조각으로 지정된 속성으로 변경-->
<div replace="~{fragments/commons :: nav}"></div>
<!-- 랜더링 결과 -->
<!-- div 요소가 nav라는 이름의 조각으로 변환됨 -->
<nav>
<ul>
<li><a href="#">공지사항</a></li>
<li><a href="#">자유 게시판</a></li>
<li><a href="#">질문 게시판</a></li>
<li><a href="#">FAQ</a></li>
<li><a href="#">1:1문의</a></li>
<li><a href="/chatting">채팅</a></li>
</ul>
</nav>
th:replace="~{html 파일 경로}"
- ::조각이름을 지정하지 않으면 html의 모든 내용을 얻어와 지정된 요소와 바꿈
<!-- common/header.html의 모든 내용을 읽어와 th:block 태그와 바꿈 -->
< block replace="~{common/header}"></ block>
<!-- common/footer.html의 모든 내용을 읽어와 th:block 태그와 바꿈 -->
< block replace="~{common/footer}"></ block>