728x90
쿠키값에 따라 로케일 해석
CookieLocaleResolver
클래스는 사용자 브라우저의 쿠키값에 따라 로케일을 해석한다. 해당 쿠키가 없으면, accept-language 헤더로 기본 로케일을 설정한다. LocaleChangeInterceptor
클래스는 Http 요청에 특정한 매개변수 값이 존재하는지 확인하고, 해당 값으로 사용자 로케일을 변경한다.
@Configuration
public class WebMvcConfiguration implements WebMvcConfigurer {
private static final Locale DEFAULT_LOCALE = new Locale("en");
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(localeChangeInterceptor());
}
@Bean
public LocaleChangeInterceptor localeChangeInterceptor() {
LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();
localeChangeInterceptor.setParamName("language");
return localeChangeInterceptor;
}
@Bean
public LocaleResolver localeResolver() {
CookieLocaleResolver localeResolver = new CookieLocaleResolver();
localeResolver.setCookieName("language");
localeResolver.setCookieMaxAge(3600); // 쿠키 유지 시간 (초)
localeResolver.setDefaultLocale(DEFAULT_LOCALE); // 기본 로케일
return localeResolver;
}
}
현재 로케일 값 출력
<!DOCTYPE HTML>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<title>Thymeleaf 로케일 값 출력</title>
</head>
<body>
<span th:text="${#locale}"></span>
</body>
</html>
'Spring' 카테고리의 다른 글
스프링에서 Exception 핸들러 매핑하기 (0) | 2019.07.25 |
---|---|
Thymeleaf 템플릿 엔진에서 로케일 텍스트 메시지 처리 (0) | 2019.07.25 |
데이터 암호화를 위한 JPA Attribute Converter (0) | 2019.06.10 |
Spring Core 라이브러리 이용해서 Properties 파일 데이터 읽기 (0) | 2019.05.28 |
Spring Camp 2019 강의 자료 모음 (0) | 2019.05.06 |
댓글