Thymeleaf 표현식과 문법

hoonssac·2024년 6월 23일

Spring

목록 보기
13/18
post-thumbnail

Thymeleaf(타임리프)는 템플릿 엔진입니다.
그렇다면, 템플릿 엔진이란 무엇일까요?


템플릿 엔진이란?

템플릿 엔진은 스프링 서버에서 데이터를 받아 우리가 보는 웹 페이지, 즉, HTML 상에 그 데이터를 넣어 보여주는 도구입니다. 다만 템플릿 엔진은 HTML과 함께 템플릿 엔진을 위한 문법을 살짝 섞어 사용해야 합니다.

그럼 간단한 예를 들어 보겠습니다.


템플릿 문법

우선 아주 간단한 템플릿 문법을 살펴보겠습니다.

<h1 text=${이름}>
<p text=${나이}>

코드를 보면, HTML과 뭔가 섞인 듯한 느낌이 듭니다.

h1태그에는 ${이름}이 text 어트리뷰트로 할당되어 있습니다.
p태그도 마찬가지 입니다.

이것이 바로 템플릿 문법입니다.

이렇게 템플릿을 만들면, 서버에서 이름, 나이라는 키로 데이터를 템플릿 엔진에 넘겨주고, 템플릿 엔진은 이를 받아 HTMl에 값을 적용합니다.

{
  이름: "홍길동"
  나이: 11
}

해당 키 값이 달라지면 바로바로 화면에 반영되니 동적인 웹 페이지를 만들 수 있게 되는 것이죠!


Thymeleaf 표현식과 문법

다음은 Thymeleaf의 표현식입니다.

표현식문법
${...}변수의 값 표현식
#{...}속성 파일 값 표현식
@{...}URL 표현식
*{...}선택한 변수의 표현식. th:object에서 선택한 객체에 접근

다음은 Thymeleaf의 문법입니다.

표현식설명예제
th:text텍스트를 표현할 때 사용th:text=${person.name}
th:each컬렉션을 반복할 때 사용th:each="person:${persons}"
th:if조건이 true인 때만 표시th:if=${person.age}>=20"

Thymeleaf 사용을 위한 의존성 추가

마지막으로, build.gradle 파일에 해당 의존성을 추가하여 Thymeleaf를 사용할 수 있습니다.

dependencies {
	implementataion 'org.spirngframework.boot:spring=boot-starter-thymeleaf'
}

📚Reference
연로그 - 타임리프란?

profile
훈싹의 개발여행

0개의 댓글