12.3.3 실습 LocaleResolver와 LocaleChangeInterceptor를 이용하여 다국어 변경하기

    MessageSource를 기반으로 언어별로 쉽게 변경할 수 있도록 LocaleResolverLocaleChangeInterceptor를 이용하여 도서 등록 페이지의 폼 필드 이름을 출력하는 것을 구현해 보겠습니다.

    앞서 생성한 src/main/resources 폴더에 메시지 리소스 파일 messages_ko.properties와 messages_en.properties를 사용합니다.

    1. servlet-context.xml 파일에 언어별로 변경할 수 있게 LocaleResolverLocaleChangeInterceptor 객체를 등록합니다.

    코드 12-5 servlet-context.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <beans:beans...>
    ...
        <interceptors>
            <beans:bean class="com.springmvc.interceptor.MonitoringInterceptor"/>
            <beans:bean class= com.springmvc.interceptor.AuditingInterceptor"/>
            <beans:bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> 
                <beans:property name="paramName" value="language"/> 
            </beans:bean>
        </interceptors>
    
        <beans:bean id="localeResolver"
                    class="org.springframework.web.servlet.i18n.SessionLocaleResolver"> 
            <beans:property name="defaultLocale" value="ko"/> 
        </beans:bean>
    
        <beans:bean id="messageSource"
                    class="org.springframework.context.support.ResourceBundleMessageSource">
            <beans:property name="basename" value="messages"/>
            <beans:property name="defaultEncoding" value="UTF-8"/>
        </beans:bean>
    </beans:beans>
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.