본문 바로가기

Sever-Side-Template/Thymleaf

[Thymleaf] th:if 사용하기(조건문)

if 문

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

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

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


추가 예시 : 등록 & 수정 폼을 같은 페이지를 사용할 때 [출처: 처음 배우는 스프링 부트2(김영재)]

<div class="pull-left">
<button th:if="!${board?.idx}" type="button" class="btn btn-primary">저장</button>
<button th:if="${board?.idx}" type="button" class="btn btn-info">수정</button>
<button th:if="${board?.idx}" type="button" class="btn btn-danger">삭제</button>
</div>

- ${객체?.속성} : 객체가 null(?)일 경우 빈 값 표출


만약 다중 조건을 찾아야 하는 경우에는 다음과 같이 사용하기도 합니다.

1
2
3
<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를 사용합니다.
사용 예제 코드는 다음과 같습니다.

1
2
<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>


원문 출처 : https://elfinlas.github.io/2018/02/18/thymeleaf-if-exam/

'Sever-Side-Template > Thymleaf' 카테고리의 다른 글

[Thymeleaf] Thymeleaf 튜토리얼  (0) 2018.06.21