Spring 国际化例子
建立一个描述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 国际化例子相关推荐
- 关于Spring 国际化 No message found under code 的解决方案
关于Spring 国际化 No message found under code 的解决方案 参考文章: (1)关于Spring 国际化 No message found under code 的解决 ...
- springboot+jsp中文乱码_【spring 国际化】springMVC、springboot国际化处理详解
在web开发中我们常常会遇到国际化语言处理问题,那么如何来做到国际化呢? 你能get的知识点? 使用springgmvc与thymeleaf进行国际化处理. 使用springgmvc与jsp进行国际化 ...
- Spring入门到放弃篇(1)- Spring国际化
Java原生国际化 文档地址 java官方文档 参考官方文档 自定义国际化案例 public class LocaleDemo {public static void main(String[] ar ...
- 从零开始学习springmvc(5)——Spring国际化和全局异常处理
[项目地址] 从零开始学习springmvc 如果觉得有用可以关注一下公众号:码字不易,求赞求关注 五.Spring国际化和全局异常处理 五.Spring国际化和全局异常处理 5.1 国际化介绍 5. ...
- Spring 国际化中文乱码的解决方法
Spring 国际化中文乱码的解决方法 出现问题: 引用国际化文件,在tomcat,页面设置,编译器,post请求等都设置utf-8的情况下,页面打印出现乱码 解决方法: 在spring.xml文件加 ...
- Spring 国际化 MessageSource
假设我们正在开发一个支持多国语言的Web应用程序,要求系统能够根据客户端的系统的语言类型返回对应的界面:英文的操作系统返回英文界面,而中文的操作系统则返回中文界面--这便是典型的i18n国际化问题.对 ...
- java 国际化例子_JavaSE 国际化 简单例子
①在src下添加两个文件: base_zh_CN.properties Test=\u8fd9\u662f\u4e2d\u6587 base_en_US.properties Test=english ...
- spring 国际化-i18n
i18n(其 来源是英文单词 internationalization的首末字符i和n,18为中间的字符数)是"国际化"的简称.在资讯领域,国际化(i18n)指让产品(出版 物,软 ...
- spring context 例子
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
最新文章
- POJ-2942:吃糖果
- android数据存放map_go语言学习笔记(18)-二维数组和map
- 在NumericStepper控件中使用嵌入字体显示数字.
- java 内存模型6_深入理解Java内存模型(六)——final
- Module build failed (from ./node_modules/babel-loader/lib/index.js): Error: [BABEL] D:\moblie\web_co
- Python高手之路【十】python基础之反射
- mysql中日期相减_MySQL环境配置和10分钟快速入门
- 在ISA Server 2004上发布使用非标准的21端口进行连接的FTP服务器
- python如何计算超大整数_Python 实现大整数乘法算法
- DeepStream3必须安装Video_Codec_SDK9
- android实现横向选择器,安卓开发 简单实现自定义横向滚动选择View : HorizontalselectedView...
- 联控智能无刷电机板子运行STM32 FOC 5.x电机库的程序,电机转一会儿会自动停下来的解决办法
- 科大学长对数学系学弟学妹的忠告
- JAVA数据库宾馆住宿系统_java+数据库 宾馆客房管理系统
- Django菜鸟教程
- java win7 管理员权限_win7系统一键取得管理员权限的操作方法
- List集合 值进行累加
- VirtualBox虚拟机安装和环境搭建
- ArcGIS License Manager许可升级的方法及无法读取许可问题
- 人牙髓干细胞,多能分化,不只用于牙齿组织再生研究