我们说ApplicationContext是BeanFactory的超级,主要表现在,Application为我们提供了更多的功能,主要包括国际化支持,资源访问和事件传递等功能。下面我们对ApplicationContext的国际化的支持进行学习。
ApplicationContext继承了org.springframework.context.MessageResource接口,通过getMessage();方法能取得多种信息资源。下面是getMessage()的三个方法:
String getMessage(String code,Object[]args,String default,Local loc);
String getMessage(String code,Object[]args,Local loc);
String getMessage(MessageSourceResolvable,Local loc);
下面我们看一下一个例子:
<?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" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename">
<value>message</value>
</property>
</bean>
<bean id ="HelloWorld" class="com.jnotnull.HelloWorld">
<bean>
</beans>
在这里我们定义一个bean,并且定义了basename的属性,属性值为message.这样我们在建资源文件的时候文件名就必须是message了,后缀名各不相同了。
下面我们用建立message.properties文件
输入
HelloWorld={0},现在是{1};
在这里要用要对上面的汉字进行转码,这个有第三方的插件,不然会产生乱码。
下面我们再写一个测试类:
package com.jnotnull;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import java.util.Date;
public class Test {
public static void main(String []args){
ApplicationContext context = new FileSystemXmlApplicationContext("config.xml");
Object[] objects = new Object[]{"HelloWorld",new Date()};
String message= context.getMessage("HelloWorld",objects,Locale.CHINA);
System.out.println(message);
}
}
这样就输出了结果;
同时我们还可以创建另一个资源文件message_en_US.properties文件
HelloWorld={0},now is{1}
将上面的代码
String message= context.getMessage("HelloWorld",objects,Locale.CHINA);
改为
String message= context.getMessage("HelloWorld",objects,Locale.US);
这样就得到了国际化的处理;
还是很方便的;
分享到:
相关推荐
主要介绍了JSP Spring ApplicationContext的国际化支持的相关资料,需要的朋友可以参考下
国际化支持 WebWork2 & Spring Quick Start WebWork 高级特性 Action 驱动模式 XWork 拦截器体系 输入校验 国际化支持 Webwork2 in Spring Struts in Spring 数据持久层 事务管理 持久层封装 JDBC ...
3.8.2. 利用MessageSource实现国际化 3.8.3. 事件 3.8.4. 底层资源的访问 3.8.5. ApplicationContext在WEB应用中的实例化 3.9. 粘合代码和可怕的singleton 3.10. 以J2EE RAR文件的形式部署Spring ...
3.8.1. 利用MessageSource实现国际化 3.8.2. 事件 3.8.3. 底层资源的访问 3.8.4. ApplicationContext在WEB应用中的实例化 3.9. 粘合代码和可怕的singleton 3.9.1. 使用Singleton-helper类 4. 资源 4.1. 简介 4.2. ...
包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、 XSLT相关类。当然,如果你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类。 (13) spring-mock.jar 这个jar文件包含...
迷你书是《Spring揭秘》的精选版,节选...5.2 国际化信息支持 5.3 容器内部事件发布 5.4 多配置模块加载的简化 5.5 小结 Spring IoC容器之扩展篇 6.1 Spring 2.5的基于注解的依赖注入 6.2 Spring 3.0展望 6.3 小结
spring-aspects.jar :提供对AspectJ的支持,以便可以方便的将面向方面的功能集成进IDE中,比如Eclipse AJDT。 spring-context-support.jar:Spring context的扩展支持,用于MVC方面。 spring-expression.jar:...
包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、XSLT相关类。当然,如果你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类。 19. spring-webmvc-portlet-4.1.1.RELEASE....
包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、 XSLT相关类。当然,如果你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类。 (13) spring-mock.jar 这个jar文件...
包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、Tiles、Velocity、 XSLT相关类。当然,如果你的应用使用了独立的MVC框架,则无需这个JAR文件里的任何类。 (13) spring-mock.jar 这个jar文件包含...
3.8.1. 利用MessageSource实现国际化 3.8.2. 事件 3.8.3. 底层资源的访问 3.8.4. ApplicationContext在WEB应用中的实例化 3.9. 粘合代码和可怕的singleton 3.9.1. 使用Singleton-helper类 4. 资源 4.1. 简介 ...
3.8.2. 利用MessageSource实现国际化 3.8.3. 事件 3.8.4. 底层资源的访问 3.8.5. ApplicationContext在WEB应用中的实例化 3.9. 粘合代码和可怕的singleton 3.10. 以J2EE RAR文件的形式部署Spring ...
3.8.1. 利用MessageSource实现国际化 3.8.2. 事件 3.8.3. 底层资源的访问 3.8.4. ApplicationContext在WEB应用中的实例化 3.9. 粘合代码和可怕的singleton 3.9.1. 使用Singleton-helper类 4. 资源 4.1. 简介 ...
13.5 Spring对JDK 5.0 Executor的支持 13.5.1 了解JDK 5.0的Executor 13.5.2 Spring对Executor所提供的抽象 13.6 实际应用中的任务调度 13.6.1 如何产生任务 13.6.2 任务调度对应用程序集群的影响 13.6.3 任务调度云...
5、国际化支持,Spring的ApplicationContext提供了对国际化的支持,在这里可以很方便的使用。 6、面向接口编程,其实这不仅是springMVC的特点,整个Spring来看,这个特点都是很明显的,因为它使开发人员对程序易于...
13.5 Spring对JDK 5.0 Executor的支持 13.5.1 了解JDK 5.0的Executor 13.5.2 Spring对Executor所提供的抽象 13.6 实际应用中的任务调度 13.6.1 如何产生任务 13.6.2 任务调度对应用程序集群的影响 13.6.3 任务调度云...
国际化支持............................................................................................................62 数据持久层.......................................................................