Struts2之国际化
来源:互联网 发布:出国申请时间表 知乎 编辑:程序博客网 时间:2024/05/18 22:55
首先我们要知道什么是属性文件。属性文件并不是Struts特有的东西,是Java本身就支持的一个技术。属性文件就是以.properties为扩展名的文本文件。属性文件里面保存的是属性列表,属性列表中每个键及其对应值都是一个字符串。
我们可以把项目要显示给用户的字符串保存在属性列表中,项目中使用字符串对应的键。这样,当用户要修改字符串的时候,我们就可以直接到属性文件里去修改,就不用修改程序代码了。而且,属性文件还可以这样命名:XXX_zh_CN.properties,XXX_en_US.properties或 XXX_ja_JP.properties,这样我们就可以把中文版的消息字符串保存在zh_CN.properties里,把英文版的保存在en_US 里,把日文版的保存在ja_JP里。然后,程序根据运行时环境决定加载哪个文件,这就是我们所谓的国际化。
这样说好像有点难,实际上Struts为我们做了很多工作,我们需要关心的只是定义键和对应的字符串,然后在显示的地方指定键就可以了。
还有个问题得先解决,就是不同的语言编码字符集不同,而属性文件要求编码相同。我们当然可以利用JDK提供的native2ascii.exe做一下转换。不过这不是我推荐使用的方法,日本人开发了一个Eclipse插件,属性编辑器(propedit),我下载的版本是 jp.gt.java_conf.ussiy.app.propedit_3.1.1.zip,利用他我们就可以直接写中文或日文,保存的时候它能帮我们自动转换。
啰嗦了这么多,也该办点正事了,先用属性编辑器建立两个属性文件:
globalMessages_en_US.properties
-------------------------------
username=User Name
password=Password
submit.title=submit
-------------------------------
globalMessages_zh_CN.properties
-------------------------------
username=帐号
password=密码
submit.title=提交
-------------------------------
把它们保存在/tutorial/src下,编译后会自动保存在tutorial/WEB-INF/classes目录下。
打开struts.xml, 在<struts>的下面加如下一行配置:
<constant name="struts.custom.i18n.resources" value="globalMessages" />
帮助位置:
struts-2.0.6/docs/docs/constant-configuration.html
struts-2.0.6/docs/docs/strutsproperties.html
修改Login.jsp里的Form内容如下:
<s:form. action="Login" method="post" theme="simple">
<s:text name="username"/>:<s:textfield name="username" /><br>
<s:text name="password"/>:<s:password name="password" /><br>
<s:submit value="%{getText('submit.title')}" />
</s:form>
帮助位置:struts-2.0.6/docs/docs/text.html
编译,部署项目,启动Tomcat在浏览器的地址栏里输入:
http://localhost:8080/tutorial/Login!input.action
如果显示的是中文提示就表示成功了^_^
改变浏览器的语言设置([工具]->[Internet选项]->[语言]->[添加]->[英语(美国)]->[选中英语并按上移按钮]然后确定修改)
刷新页面,如果显示内容从中文变成了英文就表示完全成功了^_^
我们可以把项目要显示给用户的字符串保存在属性列表中,项目中使用字符串对应的键。这样,当用户要修改字符串的时候,我们就可以直接到属性文件里去修改,就不用修改程序代码了。而且,属性文件还可以这样命名:XXX_zh_CN.properties,XXX_en_US.properties或 XXX_ja_JP.properties,这样我们就可以把中文版的消息字符串保存在zh_CN.properties里,把英文版的保存在en_US 里,把日文版的保存在ja_JP里。然后,程序根据运行时环境决定加载哪个文件,这就是我们所谓的国际化。
这样说好像有点难,实际上Struts为我们做了很多工作,我们需要关心的只是定义键和对应的字符串,然后在显示的地方指定键就可以了。
还有个问题得先解决,就是不同的语言编码字符集不同,而属性文件要求编码相同。我们当然可以利用JDK提供的native2ascii.exe做一下转换。不过这不是我推荐使用的方法,日本人开发了一个Eclipse插件,属性编辑器(propedit),我下载的版本是 jp.gt.java_conf.ussiy.app.propedit_3.1.1.zip,利用他我们就可以直接写中文或日文,保存的时候它能帮我们自动转换。
啰嗦了这么多,也该办点正事了,先用属性编辑器建立两个属性文件:
globalMessages_en_US.properties
-------------------------------
username=User Name
password=Password
submit.title=submit
-------------------------------
globalMessages_zh_CN.properties
-------------------------------
username=帐号
password=密码
submit.title=提交
-------------------------------
把它们保存在/tutorial/src下,编译后会自动保存在tutorial/WEB-INF/classes目录下。
打开struts.xml, 在<struts>的下面加如下一行配置:
<constant name="struts.custom.i18n.resources" value="globalMessages" />
帮助位置:
struts-2.0.6/docs/docs/constant-configuration.html
struts-2.0.6/docs/docs/strutsproperties.html
修改Login.jsp里的Form内容如下:
<s:form. action="Login" method="post" theme="simple">
<s:text name="username"/>:<s:textfield name="username" /><br>
<s:text name="password"/>:<s:password name="password" /><br>
<s:submit value="%{getText('submit.title')}" />
</s:form>
帮助位置:struts-2.0.6/docs/docs/text.html
编译,部署项目,启动Tomcat在浏览器的地址栏里输入:
http://localhost:8080/tutorial/Login!input.action
如果显示的是中文提示就表示成功了^_^
改变浏览器的语言设置([工具]->[Internet选项]->[语言]->[添加]->[英语(美国)]->[选中英语并按上移按钮]然后确定修改)
刷新页面,如果显示内容从中文变成了英文就表示完全成功了^_^
- Struts2之国际化
- Struts2之国际化
- 四、Struts2之国际化
- Struts2之国际化
- struts2之国际化详解
- struts2.0之国际化
- struts2之国际化
- Struts2之国际化 .
- Struts2之国际化
- Struts2之国际化
- struts2学习之---国际化
- Struts2学习之国际化机制
- struts2之5--国际化支持
- Struts2学习笔记之国际化
- 国际化之struts2实现研究
- (九)struts2之国际化
- Struts2学习笔记之国际化
- java框架之struts2国际化
- 全人类最冷的42个笑话
- 重学Windows(一):Boot Options
- TC检查点
- ELF binary type "0" not known.解决办法
- 比较快的分页的sql语句
- Struts2之国际化
- 必须掌握的八个【cmd 命令行】
- Linux下源代码阅读工具lxr安装使用说明
- 启动linux时显示图片
- C++类库介绍
- 使用ADO连接ACCESS和SQL SERVER数据库[C++]
- 使用ODBC连接数据库[C++]
- All I Have To Do Is Dream
- https://icefire.everydo.com/在线的项目管理系统