技术开发 频道

Spring学习笔记 2007-10-26

【IT168技术文档】这次介绍有关资源相关的接口:org.springframework.context.MessageResource.而类org.springframework.context.ApplicationContext实现了该接口.,您可以通过getMessage()的方法来取得资源文件,从而实现国际化消息。
通过一个例子来说明。
导入Spring所需的包:commons-logging.jar,spring.jar 。(日志包和Spring包)
(1)创建resource-config.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" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basename"> <value>duck</value> <!-- 资源文件名前缀 --> </property> </bean> </beans> (2)创建资源文件duck_en_US.properties,duck_zh_CN.properties两个文件 duck_en_US.properties内容为: ducklyl=User {0} login at {1} duck_zh_CN.properties内容(经过JDK工具native2ascii)编码转换为: ducklyl=\u7528\u6237 {0} \u4e8e {1} \u767b\u9646 (3)创建测试类 package com.resource; import java.util.*; import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; public class SpringTest { public static void main(String[] args) { //读取配置文件 ApplicationContext context=new FileSystemXmlApplicationContext("src/com/resource/resource-config.xml"); //传入两个参数,替换资源文件{0},{1} String[] para=new String[]{"王生生",Calendar.getInstance().getTime().toString()}; System.out.println(context.getMessage("ducklyl", para,Locale.US)); System.out.println(context.getMessage("ducklyl", para,Locale.CHINA)); } }

如果以上配置正确,运行结果为:

User 王生生 login at Thu Oct 25 19:15:59 CST 2007
用户 王生生 于 Thu Oct 25 19:15:59 CST 2007 登陆

原文地址

0
相关文章