타임리프 사용 선언
<html xmlns:th="http://www.thymeleaf.org">
속성 변경 - th:href
th:href="@{/css/bootstrap.min.css}"
- href="value1"을 th:href="value2"의 값으로 변경
- HTML을 그대로 볼 때는 href 속성이 사용되고, 뷰 템플릿을 거치면 th:href 의 값이 href 로 대체되면서 동적으로 변경
속성 변경 - th:onclick
onclick="location.href='addForm.html'"
th:onclick="|location.href='@{/basic/items/add}'|"
- 리터럴 대체 - |...|
- 타임리프에서 문자와 표현식 등은 분리되어 있기 때문에 더해서 사용해야 함
- 리터럴 대체 문법을 사용하면, 더하기 없이 편리하게 사용 가능
- <span th:text="|Welcome to our application, ${user.name}!|">
반복 출력 - th:each
<tr th:each="item : ${items}">
- 모델에 포함된 items 컬렉션 데이터가 item 변수에 하나씩 포함되고, 반복문 안에서 item 변수를 사용 가능
- 컬렉션의 수 만큼 <tr>. .</tr> 이 하위 태그를 포함해서 생성
변수 표현식 - ${...}
<td th:text="${item.price}">10000</td>
- 모델에 포함된 값이나, 타임리프 변수로 선언한 값을 조회 가능
- 프로퍼티 접근법을 사용 ( item.getPrice() )
내용 변경 - th:text
<td th:text="${item.price}">10000</td>
- 내용의 값을 th:text 의 값으로 변경
URL 링크 표현식 - @{...}
th:href="@{/css/bootstrap.min.css}"
URL 링크 표현식2 - @{...}
th:href="@{/basic/items/{itemId}(itemId=${item.id})}"
th:href="@{|/basic/items/${item.id}|}" // 간단히
- URL 링크 표현식을 사용하면 경로를 템플릿처럼 편리하게 사용 가능
- 경로 변수 {itemId} 뿐만 아니라 쿼리 파라미터도 생성
- ex) th:href="@{/basic/items/{itemId}(itemId=${item.id}, query='test')}"
- 생성 링크: http://localhost:8080/basic/items/1?query=test
참고 강의:
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의
웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., -
www.inflearn.com
'Spring Boot' 카테고리의 다른 글
Thymeleaf - 스프링 통합과 폼 (0) | 2023.07.04 |
---|---|
Thymeleaf 기본 기능 (0) | 2023.07.02 |
Spring Boot - MVC 기능 (0) | 2023.06.30 |
Spring Boot - MVC 구조 (0) | 2023.06.25 |
스프링 핵심 원리 (0) | 2023.06.23 |