Spring Framework/SPRING MVC
메시지, 국제화
거북이의 기술블로그
2024. 9. 24. 16:22
1. 메시지
2. 국제화
Bean 등록 (message)
- 직접 등록
@Bean
public MessageSource messageSource(){
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
messageSource.setBasenames("messages", "errors");
messageSource.setDefaultEncoding("utf-8");
return messageSource;
}
- 자동 등록
- messages 라고 자동 등록 되어있음
- spring boot 등록
spring.messages.basename=messages (기본 값)
// 값의 messages를 변경하면 파일이름을 다르게 설정할 수 있음
메시지, 국제화 파일 생성
- /Resources 하위에 생성
- messages.properties
- messages_en.properites
메시지,국제화 사용법
- messages.properties
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=취소
- html 페이지 사용법
#{...}
ex) <div th:text="#{label.item}"></h2>
Spring Locale 설정
- Spring 은 기본으로 http 헤더의 accept-Language를 사용
- 수정하고 싶을경우 -> LocaleResolver 인터페이스 활용
클래스 | 설명 |
AcceptHeaderLocaleResolver | Accept-Language를 기반으로 Locale 설정 - setLocale() 지원 x |
SessionLocaleResolver | setLocale()을 통해 세션에 Locale 정보 저장 |
CookieLocaleResolver | setLocale()을 통해 쿠키에 Locale 정보 저장 |
FixedLocaleResolver | 웹 요청에 상관없이 특정 Locale 설정 - setLocale() 지원 x |