1. 首先需要配置資源文件,這個做j2ee開發應該都比較清楚。
<!-- i18n configure -->
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="com.founder.cst.i18n.messageResource"/>
</bean>
2. 配置Resolver,這里有三種,基于Request,基于Session,以及基于Cookie,但一般我們會用基于Session的。
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"/>
基于Request的class為:org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver
基于Session的class為:org.springframework.web.servlet.i18n.CookieLocaleResolver
3. 配置攔截器
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" />
4. 設置攔截器
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping">
<property name="interceptors" ref="localeChangeInterceptor"/>
</bean>
如果使用BeanNameUrlHandlerMapping則為
<bean id="defaultUrlMapping" class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
<property name="interceptors" ref="localeChangeInterceptor" />
</bean>
最后注意請求參數為locale,例如locale=zh_CN
在controller里面獲取資源文件的時候, 注意使用RequestContextUtils.getLocale(request)替代request.getLocale()獲取locale信息.
posted on 2009-03-07 19:11
周銳 閱讀(1653)
評論(0) 編輯 收藏 所屬分類:
Spring