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
'3.1 SpringBoot > 묘공단 SpirngBoot3' 카테고리의 다른 글
[묘공단/spring] 9장 JWT로 로그인/로그아웃 구현하기- 개념 (0) | 2023.11.09 |
---|---|
[묘공단/spring] 8장 스프링 시큐리티로 로그인/로그아웃, 회원가입 구현하기 - 개념편 (0) | 2023.11.08 |
[묘공단/spring] 6장 블로그 기획하고 API만들기 -실습편 (4) | 2023.10.11 |
[묘공단/spring] 6장 블로그 기획하고 API만들기 - 개념 (0) | 2023.10.11 |
[묘공단/spring] 5장 데이터베이스 조작이 편해지는 ORM (0) | 2023.10.04 |
댓글