본문 바로가기
3.1 SpringBoot/묘공단 SpirngBoot3

[묘공단/spring] 7장 블로그 화면 구성하기 - 개념

by Dohi._. 2023. 10. 31.
728x90

포스팅 목차  (책의 목차와 다릅니다 개인적으로 공부한 내용입니다)

7장

  7-1. 타임리프 (Tymeleaf)

  7-2. 템플릿 엔진 개념잡기

 

 

 

7-1. 타임리프 (Tymeleaf)

타임리프는 컨트롤러가 보내는 데이터를 이용하여 화면을 동적으로 만들어 주는 템플릿 엔진(Template  Engine) 입니다.

템플릿 엔진은 스프링 서버에서 데이터를 받아 우리가 보는 웹페이지, 즉, HTML 상에 그 데이터를 넣어 보여주는 도구입니다

타임 리프는 HTML과 타임리프 템플릿 엔진을 위한 문법을 살짝 섞어 사용하기에 내추럴 템플릿 엔진(Naturl Template  Engine)이라고 부릅니다

내추럴 템플릿 엔진의 의미는 아래와 같습니다

  • 순수 HTML을 구조를 유지하는 템플릿
  • 타임리프는 순수 HTML 구조를 유지하기에 파일을 직접 열거나,서버를 통해 확인을 하거나 일관된 HTML 구조를 유지한다
    • 파일을 직접 확인 = 순수 HTML 
    • 서버를 구동한경우 =뷰 템플릿을 거쳐 동적으로 변경된 HTML

7-2 템플릿 엔진 개념잡기

템플릿 엔진은각각 문법이미묘하게 달라서 템플릿 엔진마다 문법을 새로 배워야 합니다.

그래도 대부분의 구조는 비슷해서 한 번 배워두면 다른 템플릿 엔진은 금방 익숙하게 다룰 수 있습니다.

대표적인 템플릿 엔진으로는 JSP, 타임리프, 프리마커 등이 있습니다

스프링은 타임리프를 권장하고 있기에 타임리프를 자세하게 알아가고자 합니다.

 

대표적인 타임리프 표현식

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

 

대표적인 타임리프 문법

 

표현식 설명 예제
th:text 텍스트를 표현할 때 사용 th:text=${user.name}
th:each 컬렉션을 반복할 때 사용 th:each="user:${users}"
th:if  조건이 true인 때만표시 th:if="${user.age}>=20"
th:object 선택한 객체로 지정 th:object="${user}"

 

 


이 글은 골든래빗 《스프링 부트 3 백엔드 개발자 되기 - 자바 편》의 7장 써머리입니다.

 

728x90

댓글