Thymeleaf에서 if else 조건문 사용법

주의

이 문건은 과거 Hexo 블로그 (2018-02-18) 에서 이동된 문서입니다.

시간이 지남에 따라 최신 기술과 다를 수 있으니 주의 바랍니다.



Thymeleaf에서 조건문 사용하기

Thymeleaf를 사용하다 보면 서버측의 데이터에 대한 분기 조건이 필요할 경우가 있습니다.
이번 포스팅에서는 if와 else를 사용하는 것에 대해 알아보겠습니다.


if 문

Thymeleaf에서 if문은 다음과 같이 사용합니다.

<li th:if="${pageMaker.isPrev()}"></li>

th:if 문법으로 사용하는데 태그는 li 뿐만이 아닌 div등에 사용하여 조건이 맞는 경우 화면에 보여줄 수도 있고, 감출 수도 있습니다.
만약 다중 조건을 찾아야 하는 경우에는 다음과 같이 사용하기도 합니다.

<span th:if="${account.getAccountStatus().toString().equals('ACTIVE')}"
  >재직중</span
>
<span th:if="${account.getAccountStatus().toString().equals('VACATION')}"
  >휴가</span
>
<span th:if="${account.getAccountStatus().toString().equals('ETC')}">기타</span>

else 문

다중 if문으로도 체크 가능하지만 그 외의 값을 체크할 때 else를 사용하는데, else는 thymeleaf에서는 다른 속성인 th:unless를 사용합니다. 사용 예제 코드는 다음과 같습니다.

<td
  th:if="${dto.getFileStatus().toString()} == 'ON_SUMMER'"
  th:text="${dto.getUploadName()} + ' (에디터 첨부파일)'"
></td>
<td
  th:unless="${dto.getFileStatus().toString()} == 'ON_SUMMER'"
  th:text="${dto.getUploadName()}"
></td>

위의 예제처럼 th:unless는 if문과 조건이 동일하지만 사실 if조건과 다른 조건인 경우를 검색하게 됩니다.


Written by@MHLab
개발은 언제나 취미로만...
Let that be a lesson.