Struts国际化学习笔记

本文详细解析了Struts2国际化配置方法,包括页面、Action和XML的国际化,以及不同级别的国际化资源文件组织与加载机制。重点介绍了如何在不修改内部代码的情况下,使程序能够根据不同语言和地区显示相应的界面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

国际化(internationalization,i18n)和本地化(localization,l10n)指让产品(出版物,软件,硬件等)能够适应非本地环境,特别是其他的语言和文化。程序在不修改内部代码的情况下,能根据不同语言及地区显示相应的界面。
    国际化主要体现在:页面、action的信息、类型转换信息、校验信息。
    Struts2的国际化分为:页面的国际化,Action的国际化、xml的国际化。
    struts2的国际化三种级别:针对某个Action的action级别,针对package的package级别,针对webapp的webapp级别。优先级:类资源文件 > 包资源文件 > 全局资源文件。Action级优先级最大。
    国际化资源文件:用不同国家的语言描述相同的信息,并放在各自对应的.properties属性文件中,程序根据运行时环境决定加载哪个文件。

国际化资源文件分为三种级别:
(1) 类资源文件:将资源文件放到与类同一目录下,只允许该类使用,命名为:类名_语言名_国家名.properties
(2) 包资源文件:将资源文件放在某个包下,只允许这个包使用,命名为:包名_语言名_国家名.properties
(3) 全局资源文件:将资源文件放在src目录(WEB-INF/classes路径)下,全局均可使用,命名为:baseName_语言名_国家名.properties,需要在struts.properties文件中加入以下内容:struts.custom.i18n.resources=资源文件的基本名或在struts.xml中加入: <constant name=“struts.custom.i18n.resources” value=“资源文件的基本名”/>

国际化主要通过以下类完成:
(1)java.util.Locale:对应一个特定的国家/区域、语言环境。
(2)java.util.ResourceBundle:用于加载一个资源包。
(3)I18nInterceptor:struts2所提供的国际化拦截器,负责处理Locale相关信息。

资源文件的命名可以有以下三种形式:
(1)baseName_language_country.properties
(2)baseName_language.properties
(3)baseName.properties

其中baseName是资源文件的基本名,用户可以自由定义。而language和country必须是Java所支持的语言和国家。如:创建中文和英语国际化,那么资源文件名称为:globalMessages _zh_CN.properties、globalMessages _en_US.properties。

转载于:https://www.cnblogs.com/jobscn/archive/2011/11/21/2256760.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值