[Thymeleaf] 다양한 th: 표현과 #strings 유틸리티
사용할 Thymeleaf 표현식과 strings 유틸리티는 다음과 같다.
Thymeleaf 표현식
th:if
th:text
th:unless
th:text
thymeleaf Strings 유틸리티
#strings.equals
#strings.isEmpty
#strings.contains
먼저 Controller 를 보면 msg 값만 던져준다.
msg 값은 'Hello world' 인 것을 알 수 있다.
그리고 다음 html 코드를 본다.
string-util.html 파일의 코드이다.
첫 번째 th:if 는 참인 경우 태그의 내용을 출력한다. #strings.equals 함수는 두 개의 argument의 값이 같은지를 비교 후 boolean 값을 반환한다. Controller에서 넘어온 msg의 값이 Hello world 였으므로 참. 즉 출력한다.
두 번째 th:text는 일반적인 출력, #strings.equals(msg, 'Hello world') 같은지 확인하고 boolean 값을 반환하고, 참이므로 true 가 출력된 것을 볼 수 있다.
세 번째는 th:if 이므로 참이면 출력한다. #strings.isEmpty를 사용해 비어있는지 확인을 하는데, 비어있지 않으니 false이므로 태그로 나오지 않는다. 'if 조건이 참이면(msg 가 비어 있으면) 이 메시지가 출력됩니다.' 이 문구가 보이지 않는 것을 확인할 수 있다.
th:unless 는 if 의 반대인 else 개념이라고 할 수 있다. msg가 비어있지 않으면 출력된다.
#strings.contains(msg, 'Hello')는 msg 변수에 'Hello' 라는 문구가 포함되었는지를 확인하는 함수이고, 포함되었으면 true이므로 true 값을 그대로 출력한다. (th:text는 값을 그대로 출력한다고 했다.)
Thymeleaf의 th 표현과 #strings 유틸리티에 대해 알아보았다.
좋아요, 구독, 광고 클릭은 큰 힘이 됩니다 :)
'java, spring' 카테고리의 다른 글
[Thymeleaf] checkbox, th:checked (1) | 2023.03.01 |
---|---|
[Thymeleaf] th:block 타임리프 임시 태그 (0) | 2023.02.25 |
[Spring Boot | Thymeleaf] 데이터 여러 개 전송받기 (@RequestParam, dto, @ModelAttribute) (0) | 2023.02.22 |
[Spring Boot | Thymeleaf] Form 데이터 전송받기 (0) | 2023.02.13 |
[Spring Boot | Thymeleaf] @PathVariable url 경로의 값을 변수로 받기 (0) | 2023.02.10 |