VVL1295

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

  在 jsp 中引入 fmt 标签库,<%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>;

  

  在配置文件中,加上:

   <!-- 配置国际化资源 -->
   <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
       <property name="basename" value="i18n"></property>
   </bean>

  

  properties 文件的内容:

i18n.username=\u7528\u6237\u540D

  

  在 src 下防止一个 properties 文件,该文件中的 key 是 <fmt:message key="i18n.username"> 中的 username,value 就是其映射的字符,这样实现国际化;

  在页面中,加入标签 <fmt:message key="i18n.username">,服务器解析 jsp,会把其输出成 properties 文件中,其映射的字符(“用户名”);

 

  通过超链接改变 Locale,需要配置 SessionLocaleResolver,LocaleChangeInterceptor,使用很简单,配置,然后请求带上请求参数名为 “locale” 的请求参数,就能增加/改变 Session 里的 Locale 参数,从而改变应用的本地化类型(Locale);

  原理是,Spring MVC 处理 handler 请求时,都会取出 请求头里面的 Accept-Language,从而确定语言环境,而配置了 SessionLocaleResolver 和 LocaleChangeInterceptor 就会替换了原来的 LocaleResolver,增加了拦截器,如上把 Locale 参数

放进 Session,那后面的请求都会根据 Session 里面的 Locale 参数处理语言环境(如果没有改变 Session 中的 Locale 参数);

posted on 2016-09-12 09:23  bobo2018  阅读(95)  评论(0)    收藏  举报