spring框架的大部分都支持国际化,就像springMVC一样。DispatcherServlet使你能够动态的通过客户端的本地语言进行配置。这是通过LocaleResolver完成的。
   当一个请求到达,DispatcherServlet就会寻找LocaleResolver,如果找到就会试图通过它进行本地化。通过RequestContext.getLocale()方法我们可以得到locale resolver解释的本地化语言。
   Locale resolvers和拦截器定义在org.springframework.web.servlet.i18n包中,并且可以在application context中进行配置。下面是本地化解析器的配置部分。

一、AcceptHeaderLocaleResolver
   这个Locale resolvers依据 accept-language请求头信息进行解析处理,通常这个头信息包含客户端操作信息的本地标示。
二、CookieLocaleResolver
   这个解析器通过cookie寻找客户端特定的语言信息。如果找到,则使用这个配置。使用这个Locale resolvers的一些属性,我们可以指定这个cookie的名称甚至是最大存活时间。下面是一个配置实例:
e.g.

  1. <bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
  2. <property name="cookieName" value="clientlanguage"/>
  3. <!-- in seconds. If set to -1, the cookie is not persisted (deleted when browser shuts down) -->
  4. <property name="cookieMaxAge" value="100000">
  5. </bean>

下面是CookieLocaleResolver的属性列表
 property default   description
      cookieName classname+LOCAL  cookie的名称
 cookieMaxAge Integer.MAX_INT  最大存活时间
 cookiePath /   限制可以访问cookie的程序路径。

三、 SessionLocaleResolver
   这个解析器允许你通过session解析本地设置。
四、LocaleChangeInterceptor
   通过配置LocaleChangeInterceptor,我们可以动态改变本地语言。它会检测请求中的参数并且改变地区信息。它调用LoacalResolver.setLocal()进行配置。下面的例子显示了,调用所有的*.view资源包含一个名字叫做siteLanguage的变量,来改变地区信息。所以下面的URL:http://www.sf.net/home.view?siteLanguage=nl 将会改变站点语言为荷兰语。
e.g.

    1. <bean id="localeChangeInterceptor"
    2. class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
    3. <property name="paramName" value="siteLanguage"/>
    4. </bean>
    5. <bean id="localeResolver"
    6. class="org.springframework.web.servlet.i18n.CookieLocaleResolver"/>
    7. <bean id="urlMapping"
    8. class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    9. <property name="interceptors">
    10. <list>
    11. <ref bean="localeChangeInterceptor"/>
    12. </list>
    13. </property>
    14. <property name="mappings">
    15. <value>/**/*.view=someController</value>
    16. </property>
    17. </bean>

springMVC之本地化和国际化的更多相关文章

  1. iOS开发——高级技术&本地化与国际化详解

    本地化与国际化详解 效果如下:   英语:                                                                    中文: 具体实现如下: ...

  2. AngularJS开发指南7:AngularJS本地化,国际化,以及兼容IE低版本浏览器

    AngularJS本地化,国际化 国际化,简写为i18n,指的是使产品快速适应不同语言和文化. 本地化,简称l10n,是指使产品在特定文化和语言市场中可用. 对开发者来说,国际化一个应用意味着将所有的 ...

  3. springMVC源码分析--国际化实现Session和Cookie(二)

    上一篇博客springMVC源码分析--国际化LocaleResolver(一)中我们介绍了springMVC提供的国际化的解决方案,接下来我们根据springMVC提供的解决方案来简单的实现一个多语 ...

  4. SpringMVC 之数据转换和国际化

    1. 数据绑定流程 SpringMVC 主框架将 ServletRequest 对象及目标方法的入参实例传递给 WebDataBinderFactory 实例,以创建 DataBinder 实例对象; ...

  5. iOS 语言切换、本地化,国际化

    什么是本地化处理? 本地化处理就是我们的应用程序有可能发布到世界的很多国家去,因为每个国家应用的语言是不一样的,所以我们要把我们的应用程序的语言要进行本地化处理一下. 本地化处理需要处理那些文件? ( ...

  6. springMVC源码分析--国际化LocaleResolver(一)

    springMVC给我们提供了国际化支持,简单来说就是设置整个系统的运行语言,然后根据系统的运行语言来展示对应语言的页面,一般我们称之为多语言.springMVC国际化机制就是可以设置整个系统的运行语 ...

  7. iOS 多语言的实现(本地化和国际化)

    配置需要国际化的语言 配置需要国际化的语言,这也是国际化之前的准备工作,无论我们是国际化App名称.代码中的字符串.图片.还是storyboard和xib,都需要进行这一步的准备工作(一个项目中需要且 ...

  8. SpringMVC(8)国际化

    在SpringMVC(七)格式化显示中我们讲了数据的格式化显示,Spring在做格式化展示的时候已经做了国际化处理,那么如何将我们网站的其它内容(如菜单.标题等)做国际化处理呢?这就是本篇要将的内容- ...

  9. Java 资源本地化与国际化

    资源包 在编写应用程序的时候,需要面对的一个问题是如何来处理与locale相关的一些信息.比如,页面上的一些静态文本就希望能够以用户习惯的语言显示.最原始的做法是将这些信息硬编码到程序中(可能是一大串 ...

随机推荐

  1. My.Ioc 代码示例——使用观察者机制捕获注册项状态的变化

    在 My.Ioc 中,要想在服务注销/注册时获得通知,可以通过订阅 ObjectBuilderRegistered 和 ObjectBuilderUnregistering 这两个事件来实现.但是,使 ...

  2. Linux 抓取网站命令

    wget -m -e robots=off -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.6) Gecko/200 ...

  3. Css简介

  4. MySQL 查询数据

    MySQL 查询数据 MySQL 数据库使用SQL SELECT语句来查询数据. 你可以通过 mysql> 命令提示窗口中在数据库中查询数据,或者通过PHP脚本来查询数据. 语法 以下为在MyS ...

  5. 在浏览器运行 java applet时遇到的一些问题及其解决方法

    运行 java applet时提示:您的安全设置已阻止本地应用程序运行,如何解决?如下图所示 这时候通过设置java的安全级别就可以了. 控制面板->程序->Java->安全 将安全 ...

  6. c#结构体和字节数组的转换、字节数组和stream的转换

    本文由博主(YinaPan)原创,转载请注明出处:http://www.cnblogs.com/YinaPan/p/streambytsstruct.html using System; using ...

  7. SGU 147.Black-white king

    时间限制:0.25s 空间限制:4M 题意: 在一个N*N(N <= 106)的棋盘上,有三个棋子:黑王.白王.黑白王,它们的行走方式一致,每秒向8个方向中的任意一个行走一步. 现在黑王和白王想 ...

  8. webAPP前端必备知识

    了解各浏览器内核 Firefox:-moz-box-shadow Safari:-webkit-box-shadow Opera:-o-box-shadow IE:-ms-box-shadow Web ...

  9. (兼容IE6)又一个提示框思密达,腾讯UED 201401242352

    找乐子 仿QQ空间的,先来看下,别嫌代码垃圾,业余菜鸟一个,用到的话就当个乐子就行了 注意: 因为有同学说需要IE6便做了一下. 已经处理了IE6,可测试. 腾讯的东西,感觉还好吧:) 使用方法老简单 ...

  10. Phalcon 的分流bootstrap 设计 主程序入口

    <?php use \Phalcon\DI\FactoryDefault as PhDi; error_reporting(E_ALL); date_default_timezone_set(' ...