Develop/Java

enums 사용할 경우에 굳이 each 돌리지 않고 해당 값의 desc 간단하게 불러오기

롱하 2024. 7. 22. 10:16

 

DB에 있는 해당 데이터와 Enums의 값이 일치할 경우에 해당 Enums의 desc 값을 text로 불러오고자 할 때 간단한 코드로 Thymeleaf를 사용하여 완성시켜 보았다.

 

<li class="character-item" th:each="item, status : ${banner.multipartAttachmentArrays}">
    <img th:src="${@fileUrlService.operate('ATTACHMENT', item.fileImageUploadInfo, 'pc')}"/>
    <p></p>
    <span th:each="banner : ${T(web.site.core.config.enums.BannerType).values()}"
          th:if="${item.bannerType != null and banner.name() == item.bannerType.name()}"
          th:text="${banner.desc}"></span>
</li>

 

이렇게 Enums를 each로 루프 돌려서 하나씩 확인해보는 방법도 있지만

 

<p th:text="${T(web.site.core.config.enums.BannerType).valueOf(item.bannerType).desc}"></p>

 

 

이렇게 .ValueOf를 사용하여 데이터와 값을 비교해서 해당 Enums의 desc를 불러와서 간단하게 텍스트로 지정 가능하다.