java, spring

[Thymeleaf] 다양한 th: 표현과 #strings 유틸리티

isaac.kim 2023. 2. 25. 15:29
728x90
반응형

[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 유틸리티에 대해 알아보았다.

 


좋아요, 구독, 광고 클릭은 큰 힘이 됩니다 :)

728x90
반응형