posts - 431,  comments - 344,  trackbacks - 0
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

只有注册用户登录后才能发表评论。


网站导航: