Spring 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 3. 메시지, 국제화
3. 메시지, 국제화
메시지, 국제화 소개
다양한 메시지를 한 곳에서 관리하도록 하는 기능을 메시지 기능이라 한다.
- 메시지 관리용 파일
messages.properties
1
2
3
4
5
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>
References: 김영한 - [스프링 MVC 2편 - 백엔드 웹 개발 활용 기술]
This post is licensed under CC BY 4.0 by the author.