[Spring] 타임리프(thymleaf)

세상을 바꾸는 개발자·2023년 3월 29일
0

build.gradle

  • 타임리프 사용하려면 build.gradle에 라이브러리를 추가해줘야 한다.
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect'



타임리프 속성

1. 분기문

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

2. 반복문

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

    반복문은 다음과 같이 사용할 수도 있다.
    th:each="question, loop : ${questionList}"
    추가한 loop 객체를 이용하여 루프 내에서 다음과 같은 속성을 사용할수 있다.
    loop.index - 반복 순서, 0부터 1씩 증가
    loop.count - 반복 순서, 1부터 1씩 증가
    loop.size - 반복 객체의 요소 갯수 (예: questionList의 요소 갯수)
    loop.first - 루프의 첫번째 순서인 경우 true
    loop.last - 루프의 마지막 순서인 경우 true
    loop.odd - 루프의 홀수번째 순서인 경우 true
    loop.even - 루프의 짝수번째 순서인 경우 true
    loop.current - 현재 대입된 객체 (예: 위의 경우 question과 동일)

3. 텍스트

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



URL 주소를 나타낼 때

  • @{<주소>}
    - th:href="@{|/question/detail/${question.id}|}"
  • URL 주소가 문자열 /question/detail/${question.id} 와 같이 연결할 때는 반드시 || 기호로 좌우를 감싸주어야 한다.
profile
초심 잃지 않기

0개의 댓글