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
周锐 阅读(1643)
评论(0) 编辑 收藏 所属分类:
Spring