Enum 클래스 정의
Enum의 상수를 이용해서 메세지, 국제화를 적용 시켜보기
국제화의 기본 설정은 이미 다 되었다고 가정
Lunph.java
public enum LunPh {
NEW_MOON(0, "달이 태양과 같은 방향에 있어 보이지 않음", "🌑"),
WAXING_CRESCENT(1, 6, "오른쪽에서부터 달이 보이기 시작함", "🌒"),
FIRST_QUARTER(7, "달의 오른쪽 절반이 밝음", "🌓"),
WAXING_GIBBOUS(8, 13, "오른쪽 절반 이상이 밝음", "🌔"),
FULL_MOON(14, "달이 완전히 밝음", "🌕"),
WANING_GIBBOUS(15, 20, "왼쪽에서부터 달이 점점 어두워짐", "🌖"),
LAST_QUARTER(21, "달의 왼쪽 절반이 밝음", "🌗"),
WANING_CRESCENT(22, 27, "왼쪽 절반 이하가 어두워짐", "🌘"),
DARK_MOON(28, 30, "달이 거의 보이지 않는 시기", "🌑");
private final int startDay;
private final int endDay;
private final String description;
private final String emoji;
...생략...
}
messages_en.properties & messages_ko.properties 파일 정의
Thymeleaf 템플릿에 Enum 상수 적용
<div class="position-sticky" style="top:2rem;" th:each="info:${lunPhInfoService}">
...생략...
<h4 class="card-title fw-semibold" th:text="#{'LunPh.'+${info.value}}">APOD title</h4>
</div>
${info.value} 자리에 Lunph의 상수(NEW_MOON, WAXING_CRESCENT, ...)가 바인딩 된다.
참고 사이트
https://i-hope9.github.io/posts_til/2021-02-23-TIL-SpringThymeleaf-i18n.html
'WEB > Spring' 카테고리의 다른 글
Spring security6와 CSRF (0) | 2024.07.05 |
---|---|
메세지, 국제화 인코딩 오류 (0) | 2024.06.16 |
Spring security에서 static resources 파일 적용 (0) | 2024.05.22 |
valid와 validation (0) | 2024.05.22 |
Entity와 DTO (0) | 2024.05.21 |