점프 투 스프링부트
2-07 템플릿 (타임리프 엔진), th:if/each/text/href
니블
2023. 9. 20. 17:54
1. 템플릿 설정
처음 파일 생성할때 thymeleaf 엔진을 추가하였기에 별다른 코드 추가는 필요없었다.
implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect'
이건 추가해줌
2. 타임리프 속성
th: // 타임리프 템플릿 엔진이 사용하는 속성 , 자바 코드와 연결됨
2.1 th:if 분기문 속성
분기문 속성은 다음과 같이 사용한다.
th:if="${question != null}"
위의 경우 question 객체가 null 이 아닌 경우에 해당 엘리먼트가 표시된다.
2.2 th:each 반복문 속성
반복문은 반복횟수만큼 해당 엘리먼트를 반복하여 표시한다. 반복문 속성은 자바의 for each 문과 유사하다.
th:each="question : ${questionList}"
반복문은 다음과 같이 사용할 수도 있다.
2.3 th:text텍스트 속성
th:text=값 속성은 해당 엘리먼트의 텍스트로 "값"을 출력한다.
th:text="${question.subject}"
2.4 th:href
th:href 처럼 url 주소를 나타낼때는 반드시 @{ 문자와 } 문자 사이에 입력해야 한다.
/question/detail/과 같은 문자열과 ${question.id}와 같은 자바 객체의 값을 더할 때는 반드시 다음처럼 |과 | 기호로 좌우를 감싸 주어야 한다.
<a th:href="@{|/question/detail/${question.id}|}" th:text="${question.subject}"></a>