频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

5.1.1 资源文件和资源包

作者: 邬继成 出处:电子工业出版社  2008-04-28 13:16    砖    好    评论   进入论坛
阅读提示:《J2EE开源编程精要15讲》第5章为大家介绍的是Struts的高级功能,本节主要讲述的是资源文件和资源包。

5.1.1  资源文件和资源包

要用Struts实现国际化和本地化,首先要定义资源文件的名称,这个文件会包含用默认语言编写的在程序中会出现的所有消息。这些消息以“关键字—值”的形式存储,例如:

error.validation.location = The entered location is invalid 

当对一个应用程序进行国际化处理时,所要用的各种语言版本的“标签”信息应该存放在不同的属性文件中,每一个这样的文件对应一种语言的版本。所有属性文件合在一起被称为资源包(Resource Bundle)。

属性文件的命名格式可分为以下两种:

文件名前缀.properties
文件名前缀_语言种类.properties

文件名后缀必须为properties,前缀则由开发者自行确定,其中的语言种类字段必须是有效的ISO(International Standardization Organization,国际标准化组织)语言代码,ISO-639标准定义的这些代码格式为英文小写、双字符,具体见表5-1所示。


表5-1  ISO-639标准常用语言代码

   

   

汉语(Chinese

Zh

英语(English

En

法语(French

Fr

德语(German

De

日语(Japanese

Ja

意大利语(Italian

It

文件名前缀中默认语言代码的为默认属性文件。当系统找不到与客户端请求的语言属性匹配的属性文件时,则使用该默认属性文件。


例如,如果我们要对前面的登录系统进行国际化处理,要求根据不同的语言环境显示英文和中文用户界面,那么就需要创建英文和中文版本的资源文件,分别取名为ApplicationResources.properties和ApplicationResources_zh.properties。它们的内容如例程5-1和例程5-2所示。


例程5-1  英文版资源文件ApplicationResources.properties

#A simple properties file
title.login = Login Page
label.username = Input your username
label.password = Input your password
item.submit = Submit
item.reset = Reset
message.success = you’re successful to login in. Now you’ve entered the main page.
message.failure = you fail to login in. You need register your information.
例程5-2  中文版资源文件ApplicationResources_zh.properties
#一个简单的属性文件
title.login = 登录页面
label.username = 姓名
label.password = 密码
item.submit = 登录
item.reset = 重置
message.success = 你已成功登录。现进入了主页。
message.failure = 你登录失败。现进入注册页面,请注册你的信息。

可以看出,属性文件中包含的是“键—值”对的形式的字符串信息。属性文件在应用程序启动时被载入内存,并根据客户端请求所携带的语言/地区信息进行匹配和使用。这些信息以java.util.Locale类的属性的方式被封存在request对象中。可以通过HttpServletRequest类的getLocale()方法获得相应的Locale对象,进而再调用Locale对象的getLanguage()方法获取具体的语言种类信息。


资源文件需要存储在类的路径下,而且它的路径要作为初始化参数传送给ActionServlet时,路径的格式要符合完整Java类的标准命名规范。比如,如果资源文件存储在WEB-INF\classes目录中,文件名是 ApplicationResources.properties,那么需要传递的参数值是ApplicationResources。如果文件在WEB-INF\classes\com\test中,那么参数值就应该是com.test.ApplicationResources。


资源包需要在Struts配置文件struts-config.xml中进行配置。<message-resources>元素就是用来配置资源包的。

<message-resources parameter="ApplicationResources"/>
如果有多个资源包要配置,那么它们用key属性来进行区分。
<message-resources parameter="ApplicationResources"/>
<message-resources key="Image" parameter="ApplicationImageResources"/>
<message-resources key="XXX" parameter="ApplicationXXXResources"/>

其中,不带key属性的就是默认的资源包。


资源包应该放在Web应用程序的WEB-INF/classes目录下,当系统初始化时,会装载这些资源文件。如果修改了资源文件,则需要重启应用服务器。

【责任编辑:夏书 TEL:(010)68476606】

回书目   上一节   下一节
专题
开源虚拟化技术Xen
Sun以10亿美元并购开源数据库厂商MySQL
Ubuntu 中文开源频道
J2EE实用技巧大全
开源框架Eclipse发展历程
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
三层交换技术专题
三层交换技术专题
2008年上半年全国软考冲刺辅导
2008年上半年全国软考冲刺辅导
微软出价446亿美元收购雅虎
微软出价446亿美元收购雅虎
· 微软出价446亿美元收购..
· 首届中国IT工程师生态..
· 视频访谈:网管员如何踏..
· 企业数据恢复指南
· Linux——从菜鸟到高手
· 交换机故障解决指南
· OSPF路由协议专栏
· 勇闯IT培训黑色围城
· 见证中国网络安全二十年
· 技术人求职简历完备手册
· 华为员工自杀频频拷问..
· 思科全球CEO钱伯斯第七..
· 北漂技术人90天求职纪实
· 2007年互联网大会
· 龙芯要做中国的“奔腾”
· IPv6协议--拓展网络无..
ARP攻击防范与解决方案
ARP攻击防范与解决方案
iSCSI应用与发展
iSCSI应用与发展
SQL Server 2008/2005全解
SQL Server 2008/2005全解
· SQL Server 2008/2005..
· SOA 面向服务架构
· SQL Server 2008/2005..
· iSCSI应用与发展
· RAID——磁盘阵列基础
· 中间件应用技术专题
· 三层交换技术专题
· SQL Server入门到精通
· 国际文档格式标准开战
· 路由器设置与口令恢复
· Linux防火墙
· 打造安全服务器
· SOA 面向服务架构
· PHP开发应用手册
· ADSL应用面面俱到
· 入侵防护系统(IPS)初探
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
iSCSI应用与发展
iSCSI应用与发展
· iSCSI应用与发展
· 中间件应用技术专题
· SQL Server入门到精通
· SQL Server 2008/2005..
· SOA 面向服务架构
· iSCSI应用与发展
· 三层交换技术专题
· RAID——磁盘阵列基础
· 企业数据恢复指南
· 路由器设置与口令恢复
· SOA 面向服务架构
· 了解统一威胁管理(UTM)..
· ADSL应用面面俱到
· ADSL应用面面俱到
· PHP开发应用手册
· 中间件应用技术专题