타임리프는 백엔드 서버에서 HTML을 동적으로 렌더링 하는 용도로 사용된다.
특징
- 서버 사이드 HTML 렌더링 (SSR)
- 네츄럴 템플릿
- 스프링 통합 지원
타임리프 사용 선언
<html xmlns:th="http://www.thymeleaf.org">
TEXT
<span th:text="${data}">
[[$(data)]]
사용
Escape
HTML 문서는 < , > 같은 특수 문자를 기반으로 정의된다. 따라서 뷰 템플릿으로 HTML 화면을 생성할 때는 출력하는 데이터에 이러한 특수 문자가 있는 것을 주의해서 사용해야 한다.
Unescape
타임리프에서는 다음 기능을 사용하면 escape 기능을 사용하지 않는다.
- th:text -> th:utext
- [[ ... ]] -> [( ... )]
변수 (SpringEL)
Object
- ${user.username}
- ${user['username']}
- ${user.getUsername()}
List
- ${users[0].username}
- ${users[0]['username']
- ${users[0].getUsername()}
Map
- ${userMap['userA'].username
- ${userMap['userA']['username']
- ${userMap['userA'].getUsername()
th:with를 사용하면 지역 변수를 선언해서 사용할 수 있다.
기본 객체들
타임리프가 제공하는 기본 객체
- ${#request}
- ${#response}
- ${#session}
- ${#sevletContext}
- ${#locale}
편의 객체
- HTTP 요청 파라미터 접근 : param
- HTTP 세션 접근 : session
- 스프링 빈 접근 : @
유틸리티 객체와 날짜
타임리프 유틸리티 객체
유틸리티 객체 예시
유틸리티는 그때그때 찾아서 사용하는 것이 좋다.
인프런 김영한님의 스프링 MVC 2편을 듣고 작성한 글입니다.
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의
웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있
www.inflearn.com
'Spring' 카테고리의 다른 글
메시지, 국제화 (0) | 2022.05.26 |
---|---|
타임리프 - 기본기능(2) (0) | 2022.05.25 |
스프링 MVC - 웹페이지 만들기(3) (0) | 2022.04.16 |
스프링 MVC - 웹페이지 만들기(2) (0) | 2022.04.16 |
스프링 MVC - 웹페이지 만들기(1) (0) | 2022.04.14 |
댓글