스프링/Thymeleaf
[Thymeleaf] 다양한 연산자
imcoding
2022. 9. 23. 16:24
Thymeleaf
산술 연산
일반적인 산술 연산 기호다.
식을 써서 boolean 값을 반환할 수도 있다.
입력
<li>산술 연산 <ul> <li>10 + 2 = <span th:text="10 + 2"></span></li> <li>10 % 2 == 0 = <span th:text="10 % 2 == 0"></span></li> </ul> </li>
출력
비교 연산
일반적인 비교 연산 기호로 표시 가능하다.
태그 표시와 혼동을 방지하여 문자로 대체할 수도 있다.
입력
<li>비교 연산 <ul> <li>1 > 10 = <span th:text="1 > 10"></span></li> <li>1 gt(>) 10 = <span th:text="1 gt 10"></span></li> <li>1 >= 10 = <span th:text="1 >= 10"></span></li> <li>1 ge(>=) 10 = <span th:text="1 ge 10"></span></li> <li>1 == 10 = <span th:text="1 == 10"></span></li> <li>1 != 10 = <span th:text="1 != 10"></span></li> <li>1 < 10 = <span th:text="1 < 10"></span></li> <li>1 lt(<) 10 = <span th:text="1 lt 10"></span></li> <li>1 le(<=) 10 = <span th:text="1 le 10"></span></li> <li>1 <= 10 = <span th:text="1 <= 10"></span></li> </ul> </li>
> : > / gt
>= : ge
< : < / lt
<= : ge
출력
연산을 이용한 조건식
연산으로 자바의 조건식과 같은 형태를 만들 수 있다.
입력
<li>조건식 <ul> <li>(10 % 2 == 0)? '짝수':'홀수' = <span th:text="(10 % 2 == 0)?'짝수':'홀수'"></span></li> </ul> </li>
출력
Elvis 연산자
값이 있다면 값이 출력되고, null 이라면 새로 입력한 값이 출력된다.
위 조건식과 비슷하나, true일 경우에는 값 자신이 출력되는 구조다.
data = Spring
nullData = null
입력
<li>Elvis 연산자 <ul> <li>${data}?: '데이터가 없습니다.' = <span th:text="${data}?: '데이터가 없습니다.'"></span></li> <li>${nullData}?: '데이터가 없습니다.' = <span th:text="${nullData}?:'데이터가 없습니다.'"></span></li> </ul> </li>
출력
No-Operation
_ 인 경우 타임리프 태그가 무효화되고 HTML 내용만 출력할 수 있다.
출력 결과를 보면 "데이터가 없습니다." 부분이 그대로 출력된다.
data = Spring!
nullData = null
입력
<li>No-Operation <ul> <li>${data}?: _ = <span th:text="${data}?: _">데이터가 없습니다.</span></li> <li>${nullData}?: _ = <span th:text="${nullData}?: _">데이터가 없습니다.</span></li> </ul> </li>
출력
끝