Thymeleaf가 제공하는 유틸리티 객체 및 날짜
타임리프는 URI, 메시지, 숫자 및 문자 등을 편리하게 다룰 수 있도록 다양한 유틸리티 객체들을 제공한다.
타임리프 유틸리티 객체
- #message : 메시지, 국제화 처리
- #uris : URI 이스케이프 지원
- #dates : java.util.Date 서식 지원
- #calendars : java.util.Calendar 서식 지원
- #temporals : 자바8 날짜 서식 지원
- #numbers : 숫자 서식 지원
- #strings : 문자 관련 편의 기능
- #objects : 객체 관련 기능 제공
- #bools : boolean 관련 기능 제공
- #arrays : 배열 관련 기능 제공
- #lists, #sets, #maps : 컬렉션 관련 기능 제공
- #ids : 아이디 처리 관련 기능 제공
타임리프 유틸리티 객체
- https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#expression-utility-objects
유틸리티 객체 예시
- https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#appendix-b-expression-utility-objects
※ 참고
이 외에도 상당히 많은 수의 유틸리티 객체들을 제공하므로, 필요에 따라 해당 메뉴얼에서 찾아 사용하면 된다.
자바 8 날짜
Java 8의 날짜 LocalDate, LocalDateTime, Instant 등을 타임리프에서 사용하기 위해선 추가적인 라이브러리 사용이 요구된다. 하지만 스프링 부트 타임리프 사용 시 해당 라이브러리에 대한 추가적인 작업없이 자동으로 추가 및 통합이 가능하다.
타임리프 자바 8 날짜 지원 라이브러리
thymeleaf-extras-java8time
자바 8 날짜 유틸리티 객체
#temporals
ex)
<span th:text="${#temporals.format(localDateTime, 'yyyy-MM-dd HH:mm:ss')}"></span>
Controller
@GetMapping("/date")
public String date(Model model) {
model.addAttribute("localDateTime", LocalDateTime.now());
return "basic/date";
}
1. .HTML (LocalDateTime)
<ul>
<li>default = <span th:text="${localDateTime}"></span></li>
<li><span th:text="${#temporals.format(localDateTime, 'yyyy-MM-dd HH:mm:ss')}"></span></li>
</ul>
1. 결과 (LocalDateTime)
· default = 2022-12-23T14:02:50.012011700
· yyyy-MM-dd HH:mm:ss = 2022-12-23 14:02:50
2. .HTML (LocalDateTime - Utils)
<ul>
<li><span th:text="${#temporals.day(localDateTime)}"></span></li>
<li><span th:text="${#temporals.month(localDateTime)}"></span></li>
<li><span th:text="${#temporals.monthName(localDateTime)}"></span></li>
<li><span th:text="${#temporals.monthNameShort(localDateTime)}"></span></li>
<li><span th:text="${#temporals.year(localDateTime)}"></span></li>
<li><span th:text="${#temporals.dayOfWeek(localDateTime)}"></span></li>
<li><span th:text="${#temporals.dayOfWeekName(localDateTime)}"></span></li>
<li><span th:text="${#temporals.dayOfWeekNameShort(localDateTime)}"></span></li>
<li><span th:text="${#temporals.hour(localDateTime)}"></span></li>
<li><span th:text="${#temporals.minute(localDateTime)}"></span></li>
<li><span th:text="${#temporals.second(localDateTime)}"></span></li>
<li><span th:text="${#temporals.nanosecond(localDateTime)}"></span></li>
</ul>
2. 결과 (LocalDateTime - Utils)
· ${#temporals.day(localDateTime)} = 23
· ${#temporals.month(localDateTime)} = 12
· ${#temporals.monthName(localDateTime)} = 12월
· ${#temporals.monthNameShort(localDateTime)} = 12월
· ${#temporals.year(localDateTime)} = 2022
· ${#temporals.dayOfWeek(localDateTime)} = 5
· ${#temporals.dayOfWeekName(localDateTime)} = 금요일
· ${#temporals.dayOfWeekNameShort(localDateTime)} = 금
· ${#temporals.hour(localDateTime)} = 14
· ${#temporals.minute(localDateTime)} = 2
· ${#temporals.second(localDateTime)} = 50
· ${#temporals.nanosecond(localDateTime)} = 12011700
'Thymeleaf' 카테고리의 다른 글
[Thymeleaf] 연산 (0) | 2022.12.26 |
---|---|
[Thymeleaf] 리터럴 Literal (0) | 2022.12.25 |
[Thymeleaf] 기본 객체 및 편의 객체 (0) | 2022.12.23 |
[Thymeleaf] 변수 - SpringEL (0) | 2022.12.17 |
[Thymeleaf] 텍스트 - TEXT, UTEX (1) | 2022.12.15 |