점프 투 스프링부트

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>