원활한 유지보수를 위해 다양한 메시지는 messages.properites라는 파일을 만들어 관리한다.
해당 데이터의 key 값으로 불러서 사용하면 된다. 이때 파일명은 message가 아닌 messages이다.
//messages.properties
item=상품
item.id=상품 ID
item.itemName=상품명
item.price=가격
item.quantity=수량
<label for="itemName" th:text="#{item.itemName}"></label>
더 나아가 나라별로 별도로 관리할 수 있다.
언어를 선택할 때는 HTTP accept-language 헤더 값을 사용하거나 사용자가 선택하도록 하고, 쿠키로 처리하면 된다.
메시지 관리 기능을 사용하려면 스프링이 제공하는 MessageSource를 스프링 빈으로 등록하면 된다.
이때 스프링 부트는 MessageSource를 자동으로 빈 등록해준다.
//application.properties
spring.messages.basename=messages
🔎 한글이 깨지는 경우 다음과 같이 설정
실제 웹 어플리케이션에 메시지를 적용해본다.
hello=안녕
hello.name=안녕 {0}
label.item=상품
label.item.id=상품 ID
label.item.itemName=상품명
label.item.price=가격
label.item.quantity=수량
page.items=상품 목록
page.item=상품 상세
page.addItem=상품 등록
page.updateItem=상품 수정
button.save=저장
button.cancel=취소
타임리프 메시지 표현식 #{...}를 사용하면 스프링의 메시지를 편리하게 조회할 수 있다.
//렌더링 전
<div th:text="#{label.item}"></h2>
//렌더링 후
<div>상품</h2>
🔗 강의 링크
'⚙️ 개발 > Spring' 카테고리의 다른 글
@Autowired (0) | 2024.05.08 |
---|---|
Validation (0) | 2024.05.02 |
[Tymeleaf] 체크 박스, 셀렉트 박스 (0) | 2024.05.02 |
[Thymeleaf] object, field (0) | 2024.04.30 |
[Thymeleaf] 속성 (0) | 2024.04.29 |