建立一个描述message的XML文件,名为spring.xml
                                  
                              <?xml version="1.0" encoding="UTF-8"?>
                              <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" 
                              "http://www.springframework.org/dtd/spring-beans.dtd">
                              <beans>

<!-- 资源国际化测试 -->

<!--   这个Bean的id只能为“messageSource” -->

<bean id="messageSource"   class="org.springframework.context.support.ReloadableResourceBundleMessageSource">

<!-- 参数cacheSeconds就是定义每5秒钟自动刷新一次资源文件,在真实的应用中,刷新周期不能太短,否则频繁的刷新将带来性能上的负面影响,一般不建议小于30分钟,cacheSeconds默认值为-1表示永不刷新 -->

<property name="cacheSeconds" value="-1"/>

<property name="basenames">

<list>

<!--  list节点的value子节点中的body值是指/WEB-INF/languages/test/messages包下的以messages为主要名称的properties文件。Spring会自动在/WEB-INF/languages/test/messages包下搜寻配置文件并进行加载 -->

<value>/WEB-INF/languages/test/messages</value>

</list>
                                      </property>
                                  </bean>

</beans>

在/WEB-INF/languages/test/messages下,建立两个messages的属性文件。一个名为messages_zh_CN.properties,另一个为messages_en_US.properties,分别对应国际化中的中国和美国。

在这两个属性文件中分别建立一个userinfo属性。
                   中国为:userinfo=当前登陆用户[{0}] 登陆时间[{1}]
                   美国为:userinfo=current login user:[{0}] login time:[{1}]

接下来可以写段代码测试。建个类,写个测试Main方法。

public class MessageTest {
                                      public static void main(String[] args) {
                                          ApplicationContext ctx = new ClassPathXmlApplicationContext("spring.xml");
                                          Object[] arg = new Object[] { "张三",  Calendar.getInstance().getTime() };
                                          String msg =  ctx.getMessage("userinfo", arg,Locale.CHINA);
                                          System.out.println("Message is ===> "  + msg);
                                      }
                                  }

最后输出的结果是:Message is ===> 当前登录用户:[张三]    登录时间:[14-3-23 上午12:10]
                                  
 ctx.getMessage("userinfo",   arg,Locale.getDefault());这个方法,传入的三个参数,第一个是properties文件中对应的名。arg为一个对象数组,我们在properties里面放置了两个变量,[{0}]和[{1}],Spring会为我们给它们赋值。而最后则需要传入一个Local。这里用Locale.CHINA代表中国。

如果我们用Locale.US,则输出会变为: Message is ===> current login user:[Erica]  login time:[3/23/14 12:10 AM]

Spring 国际化例子相关推荐

  1. 关于Spring 国际化 No message found under code 的解决方案

    关于Spring 国际化 No message found under code 的解决方案 参考文章: (1)关于Spring 国际化 No message found under code 的解决 ...

  2. springboot+jsp中文乱码_【spring 国际化】springMVC、springboot国际化处理详解

    在web开发中我们常常会遇到国际化语言处理问题,那么如何来做到国际化呢? 你能get的知识点? 使用springgmvc与thymeleaf进行国际化处理. 使用springgmvc与jsp进行国际化 ...

  3. Spring入门到放弃篇(1)- Spring国际化

    Java原生国际化 文档地址 java官方文档 参考官方文档 自定义国际化案例 public class LocaleDemo {public static void main(String[] ar ...

  4. 从零开始学习springmvc(5)——Spring国际化和全局异常处理

    [项目地址] 从零开始学习springmvc 如果觉得有用可以关注一下公众号:码字不易,求赞求关注 五.Spring国际化和全局异常处理 五.Spring国际化和全局异常处理 5.1 国际化介绍 5. ...

  5. Spring 国际化中文乱码的解决方法

    Spring 国际化中文乱码的解决方法 出现问题: 引用国际化文件,在tomcat,页面设置,编译器,post请求等都设置utf-8的情况下,页面打印出现乱码 解决方法: 在spring.xml文件加 ...

  6. Spring 国际化 MessageSource

    假设我们正在开发一个支持多国语言的Web应用程序,要求系统能够根据客户端的系统的语言类型返回对应的界面:英文的操作系统返回英文界面,而中文的操作系统则返回中文界面--这便是典型的i18n国际化问题.对 ...

  7. java 国际化例子_JavaSE 国际化 简单例子

    ①在src下添加两个文件: base_zh_CN.properties Test=\u8fd9\u662f\u4e2d\u6587 base_en_US.properties Test=english ...

  8. spring 国际化-i18n

    i18n(其 来源是英文单词 internationalization的首末字符i和n,18为中间的字符数)是"国际化"的简称.在资讯领域,国际化(i18n)指让产品(出版 物,软 ...

  9. spring context 例子

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

最新文章

  1. POJ-2942:吃糖果
  2. android数据存放map_go语言学习笔记(18)-二维数组和map
  3. 在NumericStepper控件中使用嵌入字体显示数字.
  4. java 内存模型6_深入理解Java内存模型(六)——final
  5. Module build failed (from ./node_modules/babel-loader/lib/index.js): Error: [BABEL] D:\moblie\web_co
  6. Python高手之路【十】python基础之反射
  7. mysql中日期相减_MySQL环境配置和10分钟快速入门
  8. 在ISA Server 2004上发布使用非标准的21端口进行连接的FTP服务器
  9. python如何计算超大整数_Python 实现大整数乘法算法
  10. DeepStream3必须安装Video_Codec_SDK9
  11. android实现横向选择器,安卓开发 简单实现自定义横向滚动选择View : HorizontalselectedView...
  12. 联控智能无刷电机板子运行STM32 FOC 5.x电机库的程序,电机转一会儿会自动停下来的解决办法
  13. 科大学长对数学系学弟学妹的忠告
  14. JAVA数据库宾馆住宿系统_java+数据库 宾馆客房管理系统
  15. Django菜鸟教程
  16. java win7 管理员权限_win7系统一键取得管理员权限的操作方法
  17. List集合 值进行累加
  18. VirtualBox虚拟机安装和环境搭建
  19. ArcGIS License Manager许可升级的方法及无法读取许可问题
  20. 人牙髓干细胞,多能分化,不只用于牙齿组织再生研究

热门文章

  1. 一个“Internal”牵扯出的代码泄露,阿里云独家回应
  2. 《CSS揭秘》-背景与边框
  3. 在博客园写了一年博客,收获的不仅仅是写作技能——我能一直保持积极的学习和工作态度...
  4. UWP 文件读写API
  5. linux--cut命令
  6. SQL基础:常用SQL语句详解(转)
  7. 题解 DTOJ #1438. 矮人排队(lineup)
  8. 如何正确选择开源数据库?你需要这的5个技巧
  9. Python之列表方法
  10. TCP/IP详解 笔记八