쉽게 말해 웹 브라우저의 언어 설정을 한국어, 영어 혹은 스페인어 등 설정한 언어에 따라 알맞은 메시지를 출력한다.
타입 | 설명 |
---|---|
AcceptHeaderLocaleResolver | 웹 브라우저가 전송한 Accept-Language 헤더로부너 Locale 선택한다. setLocale()메서드를 지원하지 않는다 |
CookieLocaleResolver | 쿠키를 이용해서 Locale 정보를 구한다. setLocale() 메서드는 세션에 Locale 정보를 저장한다. |
SessionLocaleResolver | 세션으로부터 Locale 정보를 구한다. setLocale() 메서드는 세션에 Locale 정보를 저장한다. |
FixedLocaleResolver | 웹 요청에 상관없이 특정한 Locale로 설정한다. setLocale() 메서드를 지원하지 않는다. |
@Bean
public LocaleResolver localeResolver(){
SessionLocaleResolver localeResolver = new SessionLocaleResolver();
localeResolver.setDefaultLocale(Locale.US);
return localeResolver;
}
@Bean
public ResourceBundleMessageSource messageSource(){
ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
messageSource.setUseCodeAsDefaultMessage(true);
messageSource.setBasenames("messages");
return messageSource;
}
setDefaultLocale로 Locale.US를 사용하였다.
특정 언어를 선택하면 그 언어에 맞는 properties가 선택된다.
하고있는 공부에 LocaleResolver가 간단하게 나와있어 궁금해서 작성해본다.
참고