文档章节

springframework【4】

ruyees
 ruyees
发布于 2014/10/05 11:47
字数 563
阅读 12
收藏 0
点赞 0
评论 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
深圳
产品经理
【求】SSH整合部署出现的错误

错误代码以下 十月 20, 2016 4:08:39 下午 org.apache.catalina.core.AprLifecycleListener init 信息: The APR based Apache Tomcat Native library which allows optimal performance in ......

asirt_ ⋅ 2016/10/20 ⋅ 2

springmvc+spring+hibernate 框架

2015-4-4 12:55:41 org.apache.catalina.core.StandardContext listenerStart 严重: Exception sending context initialized event to listener instance of class org.springframework.web......

小坏蛋 ⋅ 2015/04/04 ⋅ 3

求大神帮助!3Q!!!

八月 08, 2016 4:17:57 下午 org.apache.catalina.core.AprLifecycleListener init 信息: The APR based Apache Tomcat Native library which allows optimal performance in production env......

123师 ⋅ 2016/08/08 ⋅ 1

SSM+maven项目,tomcat启动报错,求解

log4j:WARN No appenders could be found for logger (com.alibaba.druid.pool.DruidDataSource).16:02:31.322 [localhost-startStop-1] DEBUG o.s.b.f.s.DefaultListableBeanFactory - Retu......

雅尔格里斯 ⋅ 2017/06/13 ⋅ 3

关于Spring配置文件xml文档的schema约束

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

gool_hard ⋅ 2017/12/11 ⋅ 0

请大神指点:可以得到页面数据id,但无法从数据库取出数据

DEBUG [http-apr-8080-exec-3] - Rendering view [org.springframework.web.servlet.view.JstlView: name 'items/itemsList'; URL [/WEB-INF/jsp/items/itemsList.jsp]] in DispatcherServle......

一个人的工程 ⋅ 2016/12/19 ⋅ 2

我的tomcat不能访问了,我看了一下日志文件,大家能不能帮我分析一下原因?

我的系统是centos+tomcat+oracle10g,一直是工作正常的,而且流量很小。后来突然不能访问了,只显示HTTP Status 404,我用curl http://127.0.0.1:80测了一下,tomcat貌似可以访问的,磁盘空间...

文心雕码 ⋅ 2014/09/06 ⋅ 4

Spring 3.x jar 包详解与依赖关系.

Spring 3.1与之前的 2.X 的不一样,新版本把原来的包分解了,功能分工明确: org.springframework.aop-3.1.1.RELEASE.jar ---- ----spring 的面向切面编程,提供AOP(面向切面编程)实现, ...

被风遗忘 ⋅ 2012/09/17 ⋅ 5

struts2+spring+mybatise为什么这么引入数据库连接jdbc.properties就就报错呢?

为什么直接给value中输入各节点的值就好着呢? jdbc.properties db.driverClassName=com.mysql.jdbc.Driver db.url=jdbc:mysql://localhost:3306/test db.username=root db.password=root d......

so_co ⋅ 2014/06/24 ⋅ 3

Spring3.1包详解与依赖关系

一、包的详解: Spring 3.1的jar包和以前的不一样,新版本的jar包把原来的包分解了,功能分工很明确: org.springframework.aop-3.1.1.RELEASE.jar ---- ---- spring面向切面编程,提供AOP(...

Candy_Desire ⋅ 2014/10/28 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

SAS笔记-宏2

宏是一种文本,一般来说其编译是在程序执行之前。 宏变量的创建 %let语句 %let macro_variables = text; %let是常见的宏变量建立方式,其编译就在执行前。如下例中,想要宏变量test等于数据集...

tonorth123 ⋅ 11分钟前 ⋅ 0

如何使用serverchan微信推送告警

之前实现推送告警信息到微信的方法有如下几种: 1、通过企业公众号实现----收费: 2、通过QQ邮箱,在微信平台上开启收到邮件进行提醒; 3、第三方告警平台API,一般也是收费的; 不过最近看文...

问题终结者 ⋅ 38分钟前 ⋅ 0

TCP的RPC

RPC就是远程方法调用(Remote Process Call ),包含了客户端和服务端,涉及了对象的序列化传输。 1.服务端启动,注册远程调用的类2.客户端发送请求信息包含类、方法、参数的一些信息、序列化传...

Cobbage ⋅ 59分钟前 ⋅ 0

IOS-UI UI初步代码布局添加事件

ISO开发界面,UI是必须学习的一部分,其实很早之前想学来了,一直没有沉下心来学习。看到IOS的代码风格和布局就别扭的不行,跟java代码和android布局比较显得不是那么方便,所以一直到现在。...

京一 ⋅ 今天 ⋅ 0

浅谈OpenDaylight的二次开发

OpenDaylight作为一款开源SDN网络控制器,依托于强大的社区支持以及功能特性,成为了目前主流的SDN网络控制器开发平台。在比较稳定的OpenDaylight Helium版本中,已经为开发者提供了大量的网...

wangxuwei ⋅ 今天 ⋅ 0

API 开发中可选择传递 token 接口遇到的一个坑

在做 API 开发时,不可避免会涉及到登录验证,我使用的是jwt-auth 在登录中会经常遇到一个token过期的问题,在config/jwt.php默认设置中,这个过期时间是一个小时,不过为了安全也可以设置更...

等月人 ⋅ 今天 ⋅ 0

Java NIO之文件处理

程序要操作本地操作系统的一个文件,可以分为以下三个部分: 对文件位置的操作 对文件的操作 对文件内容的操作 其中,对文件内容的操作在 Java NIO之Channel 中已经有了介绍,通过FileChann...

士别三日 ⋅ 今天 ⋅ 0

Maven的pom.xml配置文件详解

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.......

小海bug ⋅ 今天 ⋅ 0

解决httpclient超时设置不生效的问题

最近公司有项目需要通过http调用第三方服务,且第三方服务偶有超时,故需要设置一定的超时时间防止不响应的情况出现。 初始设置如下: [java] view plain copy //超时设置 RequestConfig re...

Mr_Tea伯奕 ⋅ 今天 ⋅ 0

过滤器Filter和拦截器HandlerInterceptor

过滤器 依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要...

hutaishi ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部