타임리프(Timeleaf)

2023. 5. 1. 20:15·Spring Boot
반응형

타임리프(Timeleaf)는 서버 사이드 java 템플릿 엔진으로, 웹 애플리케이션 개발에서 동적인 HTML, XML, JSON 등의 문서를생성하는데 사용된다. 

 

타임리프의 특징

  • 자바와 자연스러운 통합 : 자바 코드와 웹 템플릿을 쉽게 통합할 수 있다.
  • 심플하고 직관적인 문법 : 간결하고 읽기 쉬운 템플릿 문법을 제공한다.
  • 다양한 템플릿 기능 : 조건문, 반복문, 변수 선언, 템플릿 상속 등 다양한 기능을 제공한다.
  • 템플릿 캐싱 : 템플릿의 변동 없이 재사용 가능한 캐시를 생성하여 성능을 향상시킨다.

타임리프의 문법

  • 변수 표현식 : ' ${변수명} ' 형태로 변수를 템플릿에 표현할 수 있다.
  • OGNL(객체 그래프 탐색 언어) 표현식 : ' *{표현식} ' 형태로 객체의 속성에 접근하고 출력할 수 있다.
  • 조건문 : ' th:if ', ' th:unless '를 사용하여 조건에 따라 템플릿 블록을 표시하거나 숨길 수 있다.
  • 반복문 : ' th:each '를 사용하여 컬렉션의 요소를 반복하고 템플릿 블록을 생성할 수 있다.
  • 속성 설정 : ' th:attr '을 사용하여 HTML 요소의 속성을 동적으로 설정할 수 있다.
  • 템플릿 상속 : ' th:insert ', ' th:replace ', ' th:include '를 사용하여 템플릿 간에 상속 관계를 설정할 수 있다.

 

 

<!-- 변수 표현식 -->
<p>Welcome, ${username}!</p>

<!-- OGNL 표현식 -->
<p>User email: <span th:text="*{user.email}"></span></p>

<!-- 조건문 -->
<div th:if="${isAdmin}">
    <p>You have admin privileges.</p>
</div>
<div th:unless="${isAdmin}">
    <p>You do not have admin privileges.</p>
</div>

<!-- 반복문 -->
<ul>
    <li th:each="item : ${items}" th:text="${item}"></li>
</ul>

<!-- 속성 설정 -->
<a href="#" th:attr="href=@{/logout}">Logout</a>
  <tr>
    <td th:text="${studentVO.name}"></td>
    <td th:text="${studentVO.korean}"></td>
    <td th:text="${studentVO.english}"></td>
    <td th:text="${studentVO.math}"></td>
  </tr>
<tr th:object="${studentVO}">
<td th:text="*{name}"></td>
<td th:text="*{korean}"></td>
<td th:text="*{english}"></td>
<td th:text="*{math}"></td>
</tr>

연산도 가능하다.

 <tr th:object="${studentVO}">
    <td th:text="*{name}"></td>
    <td th:text="*{korean}"></td>
    <td th:text="*{english}"></td>
    <td th:text="*{math}"></td>
    <td th:text="*{korean + english + math} + '점'"></td>
    <td th:text="|*{(korean + english + math) / 3}점|"></td>
  </tr>
반응형

'Spring Boot' 카테고리의 다른 글

JPA 단 방향(연관 관계)  (0) 2023.06.27
Get, Post, Redirect  (0) 2023.05.02
MVC 2  (0) 2023.05.01
Spring 의존성 주입  (0) 2023.04.30
JAVA Spring 프레임워크 란?  (0) 2023.04.29
'Spring Boot' 카테고리의 다른 글
  • JPA 단 방향(연관 관계)
  • Get, Post, Redirect
  • MVC 2
  • Spring 의존성 주입
JAVALA
JAVALA
워니‘s Diary
    반응형
  • JAVALA
    정신줄 JAVA라
    JAVALA
  • 전체
    오늘
    어제
    • 분류 전체보기 (84)
      • Codding_Test (11)
        • BaekJoon (7)
        • Programmers (3)
      • Algorithm (11)
      • Daily (4)
        • memoir (4)
      • Error (7)
        • InteliJ (1)
        • eclipse (0)
      • Computer Science (1)
      • JAVA (7)
      • Javascript (0)
      • Spring Boot (7)
      • API (2)
      • Server (0)
      • DB (2)
        • ORACLE (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    springboot
    개발자 비전공자
    자바
    프로그래머스
    트리 자료구조
    개발자 부트캠프
    프론트엔드 개발자
    제로베이스
    코딩테스트
    자바 스프링부트
    백엔드 개발자
    스프링부트
    개발자
    자바 스프링
    자바 알고리즘
    백준
    자바 클래스
    spring boot
    개발자 국비
    자바 메소드
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
JAVALA
타임리프(Timeleaf)
상단으로

티스토리툴바