더북(TheBook)

12.3.2 LocaleChangeInterceptor를 이용한 로케일 변경

LocaleChangeInterceptor 클래스를 사용하면 로케일을 변경하는 별도의 컨트롤러 클래스를 구현할 필요 없이 메시지를 해당 언어로 변경할 수 있습니다. 즉, 웹 요청의 매개변수를 사용하여 손쉽게 로케일을 바꿀 수 있습니다.

LocaleChangeInterceptor 클래스는 HandlerInterceptor로 다음과 같이 <interceptors> 요소에 등록만 하면 디스패처 서블릿이 컨트롤러에 접근할 때 응답을 가로채서 LocaleChangeInterceptor를 적용할 수 있습니다.

LocaleChangeInterceptor 빈 등록 설정

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans...>
...
    <interceptors>
        <beans:bean id="localeChangeInterceptor"
                    class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
            <beans:property name="paramName" value="language"/>
        </beans:bean>
    </interceptors>
</beans:beans>
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.