messages.properties
item=상품
item.id=상품 ID
item.itemName=상품명
item.price=가격
item.quantity=수량
key 값을 불러와서 사용
<label for="itemName" th:text="#{item.itemName}"></label>
messages.properties
을 각 나라별로 별도로 관리하면 서비스를 국제화 할 수 있다.한국에서 접근한 것인지 영어에서 접근한 것인지는 인식하는 방법은 HTTP
accept-language
해더 값을
사용하거나 사용자가 직접 언어를 선택하도록 하고, 쿠키 등을 사용해서 처리하면 된다.
메시지 관리 기능을 사용하려면 스프링이 제공하는
MessageSource
를 스프링 빈으로 등록하면 되는데,
MessageSource
는 인터페이스이다. 따라서 구현체인ResourceBundleMessageSource
를 스프링 빈으로
등록하면 된다.스프링 부트
스프링 부트를 사용하면 스프링 부트가
MessageSource
를 자동으로 스프링 빈으로 등록한다.
spring.messages.basename=messages
타임리프의 메시지 표현식 #{...}
를 사용하면 스프링의 메시지를 편리하게 조회할 수 있다.
예를 들어서 방금 등록한 상품이라는 이름을 조회하려면 #{label.item}
이라고 하면 된다.
<div th:text="#{label.item}"></h2>
<div>상품</h2>