티스토리 뷰
[Thymeleaf] preprocessing expressions; 전처리 표현식을 동적으로 사용.
종벌🍀 2024. 6. 14. 14:20
표현식 안에 표현식을 사용할 때,
즉, 표현식안에 동적 표현식을 사용하고자 할때 전처리 표현식을 사용합니다.
예를들어 Map의 키값을 동적으로 처리해서 get 한다던가,
List 의 특정 값만 처리하기 위한 동적 조건을 건다던가,
그럴 경우 표현식안에 표현식을 써야하는 상황이 생기는데, 이때 전처리표현식을 사용합니다.
사용방법은 아래와 같이 밑줄(_) 2개를 앞뒤로 붙여 사용해줍니다.
__${표현식}__
저는 주로 List 에 동적조건을 줘서 값을 구할때 사용했습니다.
예시.1
<td th:each="i : ${#numbers.sequence(1, 12)}"
th:with="month=${'m'+i}"
th:text="${#numbers.formatInteger(#aggregates.sum(tableData.![__${month}__]),1,'COMMA')}">
</td>
위 경우는 필드가 m1, m2, m3 ... m12 인 경우라서
같은 문장을 12번 써줘야 하는걸 반복문으로 돌린 경우 입니다.
각 열의 합을 구하기 위해 thymeleaf 에서 처리했습니다.
예시.2
<th:block th:each="w : ${weekList}">
<td th:text="${#aggregates.sum(tableData.?[week == __${w}__].![cnt])}"></td>
</th:block>
위 경우는 날짜 조회 범위에 따라 변경되는 주간 열 조건에 따른 카운트의 합을 구하는 경우입니다.
16주차 17주차 ... 19주차 조회시 마다 달라짐에 따라
그에 해당하는 주차의 카운트 구하기 위해 사용하였습니다.
그 외에도 .get(__${표현식}__) 이렇게 동적 키값을 지정해 줄 수 있습니다.
관련문서
Tutorial: Using Thymeleaf
1 Introducing Thymeleaf 1.1 What is Thymeleaf? Thymeleaf is a modern server-side Java template engine for both web and standalone environments, capable of processing HTML, XML, JavaScript, CSS and even plain text. The main goal of Thymeleaf is to provide a
www.thymeleaf.org
'Java > SpringBoot&Spring' 카테고리의 다른 글
[Thymeleaf] 주간 요일 구하기 (0) | 2024.06.28 |
---|---|
[Springboot] 외부 라이브러리 추가 (feat.intelliJ) (0) | 2024.06.18 |
[Thymeleaf] 숫자 데이터형에 대한 의문? (0) | 2024.05.23 |
[thymeleaf] 비동기 화면 갱신 (feat.fetch) (0) | 2024.05.07 |
[thymeleaf] Expression Utility 로 데이터 백분율 row 추가하기. (0) | 2024.05.03 |