struts国际化2
来源:互联网 发布:java地图数据采集 编辑:程序博客网 时间:2024/05/16 19:34
truts2 国际化
I18n----internationalization
Struts2国际化原理
国际化和本地化指让产品(比如软件、出版物等)能够适应非本地环境,特别是其他的语言和文化。程序在不修改内部代码的情况下,能根据不同的语言及地区显示相应的界面。
国家化资源文件:用不同国家的语言描述相同的信息,并放在各自对应的.properties属性文件中,程序根据运行环境决定加载那个文件。
国际化主要通过以下类完成:
Java.util.Locale:对应一个特定的国家/区域、语言环境
Java.util.ResourceBundle:用于加载一个资源包
I18nInterceptor:Struts2所提供的国际化拦截器,负责处理Locale相关信息
国际化流程:
程序得到当前运行环境的国家/区域、语言环境并存放于Locale,ResourceBundle根据Locale中信息自动搜索对应的国际化资源文件并加载。当某个Action被执行前,I18nInterceptor负责检测Locale相关信息来寻找对应的国际化资源。
Struts2 国际化步骤
先准备各语言的资源文件,在资源文件中定义键和对应的字符串,然后显示的地方指定键就可以了。
1、 编写并配置国际化资源文件
资源文件的命名有三种方式:
1) baseName_language_country.properties
2) baseName_language.properties
3) baseName.properties
如创建中文和英文国际化,资源文件名称为:
globalMessages_zh_CN.properties
globalMessages_en_US.properties
其中globalMessages为基本名。
国际化资源文件分为三种级别:
1) 全局资源文件:放在WEB-INF/classes路径下,可以被整个工程引用,需要在struts.properties文件中加入如下内容
Struts.custom.i18n.resources=资源文件的基本名
或者在struts.xml文件中加入
<constantname=”struts.custom.i18n.resources” value=”资源文件基本名” />
2) 包级别资源文件
3) Action级别资源文件
2、 调用国际化资源
Struts2 国际化实例
<constant name="struts.custom.i18n.resources"value="messageResource"></constant>
在java中测试的步骤:
1. 编写资源文件
welcome=你好!!!
we=余秀飞!!
2. main方法中调用测试
publicstaticvoid main(String[] args) {
ResourceBundle res=ResourceBundle.getBundle("my",Locale.CHINA);
System.out.println(res.getString("welcome"));
System.out.println(res.getString("we"));
}
在struts2中的应用步骤
开发步骤:
1、 编写页面文件
红色的阴影部分为中英文切换的超链接
<body>
<s:formaction="login" theme="simple">
<s:propertyvalue="getText('admin.username')"/><s:textfieldname="username"></s:textfield><br/>
<s:propertyvalue="getText('admin.userpass')"/><s:textfieldname="userpass"></s:textfield><br/>
<inputtype="submit"value=<s:propertyvalue="getText('admin.login')"/> /><br/>
<ahref="login?request_locale=zh_CN">中文</a>
<ahref="login?request_locale=en_US">English</a>
</s:form>
</body>
2、 编写资源文件
1)表写中文资源文件 my_zh_cn.properties
admin.username=用户名:
admin.userpass=密码:
admin.login=登录
2)编写英文资源文件 my_en_US.properties
admin.username=username:
admin.userpass=userpass:
admin.login=login
3、 配置在struts.xml文件中配置资源文件
<struts>
<constantname="struts.devMode"value="true"/>
<constantname="struts.custom.i18n.resources" value="my"></constant>
<packagename="struts2"extends="struts-default">
<actionname="login"class="com.fei.action.FileAction">
<result>/index.jsp</result> </action>
</package>
</struts>
4、 在页面调用资源文件
步骤一中的黄色阴影部分的代码即为调用资源文件的代码
5、 运行结果
当点击中文时显示
当点击English时显示
- Struts 2 国际化
- Struts 2国际化支持
- struts国际化2
- Struts 2国际化
- Struts 2 的国际化
- Struts 2国际化
- Struts 2 之资源国际化
- struts国际化
- Struts国际化
- struts 国际化
- struts国际化
- Struts国际化
- struts国际化
- struts国际化
- Struts国际化
- struts国际化
- struts国际化
- struts 国际化
- 谈谈Objective-C中@class的作用和用法
- struts2学习笔记
- dbcontrol console 创建注意事项
- 静观其变
- Ubuntu 9.10 安装vim 以及Vim介绍比较
- struts国际化2
- 走到最后
- 统一编码-香浓编码-霍夫曼编码
- 10大最佳古怪网站
- 万能数据库查询分析器中文版本《DB查询分析器》几年来在“中关村在线”首次大榜小榜都能够榜上有名
- Brew IWeb的使用
- Ubuntu 12.04 常用的快捷键
- iOS开发:小技巧积累
- iOS开发:小技巧积累