1. 소개
이 빠른 사용방법(예제)에서는 Thymeleaf에서 부울 값으로 작업하는 방법을 살펴볼 것입니다.
우리는 세부 사항에 다이빙을하기 전에, Thymeleaf 기본 사항에서 찾아 볼 수있다 이 쓰기까지 .
2. 식을 부울로 평가
Thymeleaf에서는 모든 값을 부울로 평가할 수 있습니다. false로 해석되는 몇 가지 값이 있습니다 .
- 없는
- 부울 값 false
- 숫자 0
- 캐릭터 \ 0
- "false" , "off" 및 "no" 문자열
다른 모든 값은 true 로 평가됩니다 .
3. 렌더링 조건으로 부울 사용
HTML 요소를 조건부로 렌더링하려면 th : if 및 th : unless 속성의 두 가지 옵션이 있습니다 .
이들의 효과는 정확히 반대 - Thymeleaf가 함께 요소를 렌더링 일 : 경우 속성이 속성의 값이있는 경우에만 사실 과 함께 일 :의 값이있는 경우에만 속성을하지 않는 거짓
<span th:if="${true}">will be rendered</span>
<span th:unless="${true}">won't be rendered</span>
<span th:if="${false}">won't be rendered</span>
<span th:unless="${false}">will be rendered</span>
4. 논리 및 조건 연산자
또한 Thymeleaf에서 세 가지 고전적인 논리 연산자를 사용할 수 있습니다.
- 과
- 또는
- 키워드 not 또는 "!"를 사용한 부정 상징
변수 표현식 내에서 이러한 연산자를 사용하거나 여러 변수 표현식을 결합 할 수 있습니다.
<span th:if="${isRaining or isCold}">The weather is bad</span>
<span th:if="${isRaining} or ${isCold}">The weather is bad</span>
<span th:if="${isSunny and isWarm}">The weather is good</span>
<span th:if="${isSunny} and ${isWarm}">The weather is good</span>
<span th:if="${not isCold}">It's warm</span>
<span th:if="${!isCold}">It's warm</span>
<span th:if="not ${isCold}">It's warm</span>
<span th:if="!${isCold}">It's warm</span>
조건 연산자 인 if-then , if-then-else 및 기본 연산자를 사용할 수도 있습니다.
경우 - 당시 다른 운영자는 보통 원, 또는 ? : 운영자:
It's <span th:text="${isCold} ? 'cold' : 'warm'"></span>
또한 if-then 연산자는 else 부분이없는 단순화 된 버전입니다.
<span th:text="${isRaining or isCold} ? 'The weather is bad'"></span>
기본 연산자는 null이 아니면 첫 번째 피연산자를 반환하고 그렇지 않으면 두 번째 피연산자를 반환합니다 .
<span th:text="'foo' ?: 'bar'"></span> <!-- foo -->
<span th:text="null ?: 'bar'"></span> <!-- bar -->
<span th:text="0 ?: 'bar'"></span> <!-- 0 -->
<span th:text="1 ?: 'bar'"></span> <!-- 1 -->
기본 연산자는 Elvis의 헤어 스타일과 매우 유사하기 때문에 Elvis 연산자라고도합니다.
Elvis 연산자는 null 검사 만 수행하며 첫 번째 피연산자를 부울로 평가하지 않습니다.
5. #bools 유틸리티 개체
#bools는 기본적으로 표현식에서 사용할 수 있으며 몇 가지 편리한 방법이있는 유틸리티 오브젝트입니다 :
- # bools.isTrue (obj) 는 인수가 true 로 평가되는지 여부를 반환합니다.
- # bools.isFalse (obj) 는 인수가 false 로 평가되는지 여부를 반환합니다.
- # bools.xxxIsTrue (collection) 은 # bools.isTrue () 를 사용하여 인수의 요소를 부울로 변환 한 다음 동일한 유형의 컬렉션으로 수집합니다.
- # bools.xxxIsFalse (collection) 은 # bools.isFalse () 를 사용하여 인수의 요소를 부울로 변환 한 다음 동일한 유형의 컬렉션으로 수집합니다.
- # bools.xxxAnd (컬렉션) 반환 진정한 인수의 모든 요소가로 평가되는 경우 는 true
- # bools.xxxOr (컬렉션) 반환 진정한 인수의 모든 요소를 평가하는 경우 는 true
위의 메소드에서 xxx 는 메소드의 인수 (및 xxxIsTrue () 및 xxxIsFalse ()의 경우 반환 값)에 따라 array , list 또는 set 일 수 있습니다 .
6. 결론
이 기사에서는 Thymeleaf가 값을 부울로 해석하는 방법과 요소를 조건부로 렌더링하고 부울 표현식으로 작업하는 방법을 살펴 보았습니다.
평소처럼 코드 (더 많은 예제 포함)는 Github에서 사용할 수 있습니다 .
- https://docs.spring.io/spring-framework/docs/current/reference/html
- https://www.baeldung.com/thymeleaf-boolean
'Java' 카테고리의 다른 글
Thymeleaf를 사용한 스프링 경로 변수 (0) | 2021.04.05 |
---|---|
Thymeleaf에서 배열 작업 (1) | 2021.04.05 |
Thymeleaf에서 사용자 정의 HTML 속성 작업 (0) | 2021.04.04 |
Maven으로 실행 가능한 JAR을 만드는 방법 (0) | 2021.04.04 |
Spring Security OAuth 2 사용방법(예제) (0) | 2021.04.04 |