Struts2笔记六之i18n国际化
来源:互联网 发布:河北网络电视台官网 编辑:程序博客网 时间:2024/06/05 18:40
1.国际化的原理
定义对应国家的配置文件:
app_zh_CN.properties文件里面有welcome.msg=你好
app_en_US.properties文件里面有welcome.msg=hello
将其放在properties目录
以下是在Java中测试代码
ResourceBundle res = ResourceBundle.getBundle("properties/app",Locale.CHINA);
ResourceBundle res2 = ResourceBundle.getBundle("properties/app",Locale.US);
System.out.println(res.getString("welcome.msg"));输出的是:你好
System.out.println(res2.getString("welcome.msg"));输出的是:hello
2.在Web应用中配置国际化
在页面上取得i18n配置文件中的内容不需要这样具体写法如下:
LoginAction_zh_CN.properties文件里面有 login.username = 用户名 login.password = 密 码
LoginAction_en_US.properties文件里面有 login.username = username login.password = password
以上两个文件放在Action目录下,这是Action级别下的国际化,一套配置文件用与一个Action,因为配置文件前部分名字要和Action类名相同。
页面取法:
<%@taglib uri="/struts-tags" prefix="s" %>
<s:property value="getText('login.username')">
<s:property value="getText('login.password')">
这样在修改页面编码的时候会自动获取对应properties中的值。
以上这种不好,因为需要配置太多的配置文件了。
Struts一共有三种级别的国际化配置
1.Action级别的,2.package级别的,3.App应用级别的.
最常用最好的也就是App级别的,放在src目录下,只需要配一套国际化配置文件就可以了。
这里页面的取值不需要变,只需要在Struts.xml中配置一下就好了:
<constant name="struts.custom.i18n.resources" value="i18n配置前缀如:StrutsI18N"></constant>
3.动态国际化
主需要在页面上加上一个链接,传一个参数到任何一个Action,之后整个网页语言就都变了。
一般来说,在哪一个页面上就传递到哪个Action,因为改变语言要求页面不变。
链接写法为:<a href="action地址?request_locale=en_US">English</a>例子如下:
<a href="admin/lang?request_locale=en_US">English</a>
<a href="admin/lang?request_locale=zh_CN">中文</a>
定义对应国家的配置文件:
app_zh_CN.properties文件里面有welcome.msg=你好
app_en_US.properties文件里面有welcome.msg=hello
将其放在properties目录
以下是在Java中测试代码
ResourceBundle res = ResourceBundle.getBundle("properties/app",Locale.CHINA);
ResourceBundle res2 = ResourceBundle.getBundle("properties/app",Locale.US);
System.out.println(res.getString("welcome.msg"));输出的是:你好
System.out.println(res2.getString("welcome.msg"));输出的是:hello
2.在Web应用中配置国际化
在页面上取得i18n配置文件中的内容不需要这样具体写法如下:
LoginAction_zh_CN.properties文件里面有 login.username = 用户名 login.password = 密 码
LoginAction_en_US.properties文件里面有 login.username = username login.password = password
以上两个文件放在Action目录下,这是Action级别下的国际化,一套配置文件用与一个Action,因为配置文件前部分名字要和Action类名相同。
页面取法:
<%@taglib uri="/struts-tags" prefix="s" %>
<s:property value="getText('login.username')">
<s:property value="getText('login.password')">
这样在修改页面编码的时候会自动获取对应properties中的值。
以上这种不好,因为需要配置太多的配置文件了。
Struts一共有三种级别的国际化配置
1.Action级别的,2.package级别的,3.App应用级别的.
最常用最好的也就是App级别的,放在src目录下,只需要配一套国际化配置文件就可以了。
这里页面的取值不需要变,只需要在Struts.xml中配置一下就好了:
<constant name="struts.custom.i18n.resources" value="i18n配置前缀如:StrutsI18N"></constant>
3.动态国际化
主需要在页面上加上一个链接,传一个参数到任何一个Action,之后整个网页语言就都变了。
一般来说,在哪一个页面上就传递到哪个Action,因为改变语言要求页面不变。
链接写法为:<a href="action地址?request_locale=en_US">English</a>例子如下:
<a href="admin/lang?request_locale=en_US">English</a>
<a href="admin/lang?request_locale=zh_CN">中文</a>
0 0
- Struts2笔记六之i18n国际化
- struts2之国际化(i18n)
- Struts2 学习笔记17 I18N国际化
- struts2 国际化 i18n
- struts2 i18n国际化问题
- struts2的国际化i18n
- Struts2国际化详解 i18n
- Struts2国际化标签 i18n
- struts2 国际化 I18N
- struts2中I18N国际化
- Struts2学习笔记----国际化(I18N)(一)
- Struts2.0 (开发之四)--(i18n)国际化--CTO
- struts2的国际化(i18n)操作
- Struts2 2.0 国际化(i18n)
- struts2的国际化 i18n 总结
- struts2 学习总结 ---- i18n国际化
- 浅谈struts2的国际化----i18n
- struts2-I18n页面国际化及Action国际化
- AutoCompleteTextView和MultiAutoCompleteTextView使用详解
- dwz框架---(1)如何学习dwz框架
- Centos6/RHEL6 11.2.0.3rac添加节点
- 我的第一篇博客
- STM32学习笔记——利用通用定时器TIM2进行精确延时
- Struts2笔记六之i18n国际化
- OC中动态创建可变数组的问题.有一个数组,数组中有13个元素,先将该数组进行分组,每3个元素为一组,分为若干组,最后用一个数组统一管理这些分组.(要动态创建数组).两种方法
- android Matrix图片随意的放大缩小,拖动
- 《STL源码剖析》---stl_deque.h阅读笔记(2)
- Struts2笔记七---拦截器
- 错排公式
- hdu 4259 Double Dealing(循环节+最小公倍数)
- 黑马视频学习笔记-数组(一)-初始化
- Humble Numbers - HDU 1058 递推