타임리프란 무엇인가

Soo·2024년 6월 11일

Thymeleaf

화면을 동적으로 만들 수 있는 템플릿 엔진
미리 정의된 템플릿(Template)을 만들고 동적으로 HTML 페이지를 만들어서 클라이언트에 전달하는 방식
요청이 올 때마다 서버에서 새로운 HTML을 만들어 주기 때문에
SSL 서버 사이드 렌더링이라 한다.

1. 특징

  • 'natural templates'  확장자명 .html
  • Thymeleaf문법은 html 태그 안쪽 속성으로 사용된다.

2. thymeleaf_basic

  • ItemDto 연습용 Controller 생성 hello.example.controller.ThymeleafExController
  • hello.example.dto.ItemDto 클래스 생성
  • 데이터를 주고받을 때는 Entity 클래스 자체를 반환X 데이터 전달용 객체(Data Transfer Object)
    를 생성해서 사용
  • Entity는 절대로 외부에 노출하면 안된다. Entity는 스펙이기 때문에 변경이 있으면 안된다.

  2.1 th:text

  • <html xmlns:th="http://www.thymeleaf.org"> 타임리프를 사용하기 위한 설정
  • 문자를 표현하기 위한 thymeleaf 문법
  • $ = 변수 표현 e.g., ${클래스.변수명}

 2.2 th:each

  • 자바의 for문처럼 반복문을 사용할 수 있다.
  • 전달받은 itemDtoList에 있는 데이터를 하나씩 꺼내서 itemDto에 담아준다.
  • status에는 현재 반복에 대한 상태 데이터가 존재 다른 변수명을 사용해도 된다.

0개의 댓글