커피와 개발자

타임리프(Thymeleaf) 본문

프로젝트/Spring Boot

타임리프(Thymeleaf)

광박이 2022. 10. 11. 16:50
728x90

타임리프(Thymeleaf)

타임리프(Thymeleaf)는 View Templete Engine으로 JSP, Freemarkerd와 같이 서버에서 클라이언트에게 응답할 브라우저 화면을 만들어주는 역할을 합니다.

Thymeleaf의 장점 :

  • 코드를 변경하지 않기 때문에 디자인 팀과 개발 팀 간의 협업이 편해진다.
  • JSP와 달리 Servlet Code로 변환되지 않기 때문에 비즈니스 로직과 분리되어 오로지 View에 집중할 수 있다.
  • 서버상에서 동작하지 않아도 되기 때문에 서버 동작 없이 화면을 확인할 수 있다. 때문에 더미 데이터를 넣고 화면 디자인 및 테스트에 용이하다.

Thymeleaf와 Spring Boot

※ 타임리프의 장점 때문에 Spring에서도 Spring Boot와 타임리프를 함께 사용하는 것을 권장하고 있습니다. JSP를 개발하면서 템플릿을 쓰기 위해 Tiles를 설정한다거나, HTML에 JSP 코딩을 해야 하고 JSTL을 사용하면서 가독성이 떨어지는 단점이 있는데, 타임리프는 간편하게 Dependency 추가 작업으로 사용할 수 있기 때문입니다.

Thymeleaf 기본 설정 :

Maven은 pom.xml 에, Gradle은 build.gradle 에 타임리프의 dependency를 추가해줍니다.

HTML에 네임스페이스 추가 :

Syntax 문법 :

Layout 문법 :

타임리프의 layout 기능을 사용하기 위해서는 의존성을 추가해줘야 합니다.
타임리프를 설정과 동일하게 Maven은 pom.xml 에, Gradle은 build.gradle 에 타임리프의 dependency를 추가해줍니다.

xmlns:layout은 타임리프의 레이아웃 기능을 사용하기 위한 선언이며, 레이아웃을 적용시킬 HTML 파일에 해당 선언을 합니다. 그리고 해당 페이지에 th:fagment로 조각된 공통 영역을 가져와서 삽입해줍니다.

Form 문법 :

조건문과 반복문 :

기타 :

#numbers.sequest(start, end, step)
기본적으로 타임리프에서는 #numbers라는 숫자 포맷 메서드를 지원한다. #numbers에는 다양한 메서드들이 존재하는데 가장 많이 사용하는 것이 #numbers.sequece이다. #numbers.sequece 메서드는 start, end, step을 이용하여 원하는 범위에 대해 시퀀스를 생성해준다.

728x90

'프로젝트 > Spring Boot' 카테고리의 다른 글

에러 페이지(Error page)  (0) 2022.10.11
예외처리 (Exception Handling)  (0) 2022.10.11
Mybatis 적용  (0) 2022.10.11
DataBase 연동 (MariaDB, HikariCP)  (0) 2022.10.11
Argument Resolver 설정  (0) 2022.10.11
Comments