타임리프

<타임리프>

    1. 분기문 속성 th:if="${question != null}"
    위의 경우 question 객체가 null 이 아닌 경우에 해당 엘리먼트가 표시된다.

    2. 반복문 속성
    th:each="question : ${questionList}" 혹은 th:each="question, loop : ${questionList}"
    반복문은 반복횟수만큼 해당 엘리먼트를 반복하여 표시한다. 반복문 속성은 자바의 for each 문과 유사하다.

    3. 텍스트 속성
    th:text="${question.subject}"
    th:text=값 속성은 해당 엘리먼트의 텍스트로 "값"을 출력한다.

    텍스트는 th:text 속성 대신에 다음처럼 대괄호를 사용하여 값을 직접 출력할수 있다.
    <tr th:each="question : ${questionList}">
    <td>[[${question.subject}]]</td>
    <td>[[${question.createDate}]]</td>
</tr>

4. 타임리프에서 링크의 주소는 th:href 속성을 사용한다. th:href 처럼 URL 주소를 나타낼때는 반드시 @{ 문자와 } 문자 사이에 입력해야 한다. 
URL 주소는 문자열 /question/detail/과 ${question.id} 값이 조합되어 /question/detail/${question.id}로 만들어졌다. 이때 좌우에 | 문자없이 다음과 같이 사용하면 오류가 발생한다.
ex. <a th:href="@{/question/detail/${question.id}}" th:text="${question.subject}"></a>

5. 타임리프는 문자열을 연결(concatenation)할 때 | 문자를 사용한다.
/question/detail/과 같은 문자열과 ${question.id}와 같은 자바 객체의 값을 더할 때는 반드시 다음처럼 |과 | 기호로 좌우를 감싸 주어야 한다.
ex. <a th:href="@{|/question/detail/${question.id}|}" th:text="${question.subject}"></a>