文档章节

springframework【4】

ruyees
 ruyees
发布于 2014/10/05 11:47
字数 563
阅读 14
收藏 0

这里说的国际化不是简单的web层面的,也有纯后台层面的。因为spring不只是处理web的,也可以处理纯java的后台程序。这里也就是说aop、ioc、DI的使用是在整个java层面的而不是只局限于web项目中。

 

1、资源取得

资源的取得主要应用于国际化处理。在写程序的时候可以以不同的方式获取资源

例如:

       //直接从classpath中将文件信息取出,具体化称为一个资源文件对象

       Resource resource = ctx.getResource("classpath:admin.properties");

       //从指定的硬盘路径中取得文件,具体实例化称为一个资源文件。

       Resource resource1 = ctx.getResource("file:c:/admin.properties");

 上边的“classpath:”是spring自制的URL虚拟协定,这会取得一个org.springframework.core.io.ClasspathResource 实例,代表一个具体的资源文件。上边程序中,该资源文件是位于Classpath的根目录中,文件名称为admin.properties,你也可以指定标准的URL,像“file:”或“http:”

 

2、获取国际化资源的信息的方法:

 A、在classpath中定义国际化文件 messages_zh_CN.properties,messages_en_US.properties

  例如:

hello=用户{0}于{1}登陆系统

hello=user {0} login in system when {1}

 B、在配置文件list.xml中声明实现一个ResourceBundleMessageSource来取得国际化消息

 例如:

 

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

  <property name="basename" value="messages"></property>

  </bean>

 

 此处bean的id必须是messageSource

 C、编写测试程序

 

import java.util.Locale;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.Resource;
//资源的取得和国际化
public class TestRes {
	public static void main(String[] args){
		ApplicationContext ctx = new ClassPathXmlApplicationContext("list.xml");
		Object[] arguments = new Object[]{"管理员",java.util.Calendar.getInstance().getTime()};
		System.out.println(ctx.getMessage("hello",arguments ,Locale.US));
		System.out.println(ctx.getMessage("hello",arguments ,Locale.CHINA));
	}
}

 执行结果:

user 管理员 login in system when 3/15/09 10:10 AM
用户管理员于09-3-15 上午10:10登陆系统

 

总结下:

 1、获取资源的方式有多样的

 2、我们可以直接通过在spring的配置文件中声明国际化文件的名字,这里声明为messages,但是也要同时建立相对应的国际化文件messages_en_US.properties、messages_zh_US.properties

 3、只要传送指定参数,指明要处理的语言,spring自动为我们将国际化文件中的内容取得,并且你还可以给国际化文件中的“占位符”传送参数

 

 

 

本文转载自:http://zuoqiang.iteye.com/blog/671133

共有 人打赏支持
ruyees
粉丝 3
博文 71
码字总数 0
作品 0
深圳
产品经理
私信 提问
关于Spring配置文件xml文档的schema约束

最开始使用spring框架的时候,对于其配置文件xml,只是网上得知其使用方法,而不明其意。最近想着寻根问底的探究一下。以下是本文主要内容: 1、配置文件示例。 [html] view plain copy pri...

gool_hard
2017/12/11
0
0
spring 第13天 使用@scheduled注解执行定时任务

我们使用spring的注解 @Scheduled 执行定时任务 创建spring-task.xml 文件 Xml代码 <!---加入:xmlns:task="http://www.springframework.org/schema/task"--> <?xml version="1.0" encoding......

上班不要玩手机
2016/10/09
255
0
获取Spring中PropertyPlaceholderConfigurer的属性

获取Spring中PropertyPlaceholderConfigurer的属性 博客分类: · Spring springjava applicationContext.xml配置文件 Xml代码 1. <?xml version="1.0" encoding="UTF-8"?> 2. <beans xmlns=......

LYQ1990
2016/12/15
21
0
Spring 4.2.2以上版本和swagger集成方案和踩过的坑

因为公司使用的spring版本太高,在集成swagger的时候会存在一些问题,而网上的很多实例大多都是版本比较低的,为了是朋友们少才坑,我这边将集成的过程记录一下: 1. 引入spring、swagger的相...

原野先
2017/11/09
0
0
springboot使用RabbitMQ教程

1、安装rabbitmq docker安装,拉取镜像 docker pull rabbitmq:management 创建容器并启动 docker run -d --name rabbitmq --publish 5671:5671 --publish 5672:5672 --publish 4369:4369 --......

无心低语
01/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

深度学习中的注意力机制

最近两年,注意力模型(Attention Model)被广泛使用在自然语言处理、图像识别及语音识别等各种不同类型的深度学习任务中,是深度学习技术中最值得关注与深入了解的核心技术之一。 本文以机器...

火力全開
13分钟前
1
0
去除文件中

最近生成的文件中出现了<feff>乱码,而且单个文件中出现不止一次,在vim中打该文件显示<feff>,而在idea中则显示一个“-”,对数据处理造成了极大的困扰,通过使用其它编辑器打开发现,Windo...

休辞醉倒
14分钟前
0
0
想搞懂大数据就看这篇文章就够了!

互联网时代的到来,各种专业词汇术语充斥着我们的大脑,大数据,人工智能更是当下时代的热点潮流,很多传统企业都徘徊穿梭于这个潮流当中,传统广告的褪去,移动互联网时代的大数据精准整合营...

董黎明
17分钟前
1
0
go module 初体验

尽管官方的go module比较好用,但由于很多库下载不了,所以需要用到以下配置 export PATH=/mnt/d/download/go/bin/:$PATH export GOPATH=/home/fish/dipamkara/ #export GOPATH=/mnt/d/work...

LoveCupid
20分钟前
1
0
【小白学游戏常用算法】二、A*启发式搜索算法

  在上一篇博客中,我们一起学习了随机迷宫算法,在本篇博客中,我们将一起了解一下寻路算法中常用的A*算法。   通常情况下,迷宫寻路算法可以使用深度优先或者广度优先算法,但是由于效...

hejunbinlan
23分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部