언어/Spring Boot

[Spring Boot] 타임리프 (Thymeleaf)

승띵이 2022. 10. 25. 17:43

타임리프(Thymeleaf)

  • 타임리프(Thymeleaf)는 동적인 HTML 문서를 만들고 이를 컨트롤러와 연결시킬 수 있도록하는 템플릿 엔진의 일종이다.
  • 타임리프 문법을 사용하는 모든 HTML 파일 내의 <html>태그에는 반드시 xmlns:th="http://www.thymeleaf.org"라는 속성 및 속성 값이 부여되어 있어야 타임리프 문법을 사용할 수 있다.
  • 위치는 [프로젝트 루트]/src/main/resources/templates이고, 해당 위치 아래에 있는 모든 HTML 파일은 컨트롤러 ModelAndView객체를 통해 연결하고 응답으로 되돌려 줄 수 있다.
  • 표현식
    • ${ ... } : 자바 문법을 작성하기 위해 사용한다. 단, 문자열은 홑따옴표(')로 표시함에 주의한다.
  • 속성(Attribute)
    • th:each : 반복 가능한 대상이 가지는 원소를 변수로 사용하여 반복한다. 해당 속성이 부여된 태그 자체가 반복됨으로 유의한다. th:each="[원소 변수 이름] : ${[반복 가능한 대상]}"의 형태로 사용한다.
    • th:if : 속성 값이 되는 논리값이 거짓이라면 해당 태그를 제거한다.
    • th-text : 해당 태그의 텍스트로 내용을 지정한다. HTML로 작성해놓은 내용은 모두 삭제되니 유의한다.
    • th:[일반 속성] : 작성한 [일반 속성]의 값을 지정한다. 가령, th:value="${3 + 3}"은 결과적으로 value=6으로 해석된다.