首先我们要知道什么是属性文件。属性文件并不是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选项]->[语言]->[添加]->[英语(美国)]->[选中英语并按上移按钮]然后确定修改)
刷新页面,如果显示内容从中文变成了英文就表示完全成功了^_^
分享到:
相关推荐
struts2.0描述了拦截器并有对应的例子,用struts实现crud 用法及例子,并介绍了struts2的action的流程 及请求过程
详细说明了Struts2.0新标签的用法,如url标签、s:checkboxlist标签、s:combobox生成下拉输入框等。
struts2.0入门动画教程帮您快速掌握struts2.0的使用方法 <br>附带struts2.0demo源码
关于struts2.0 标签的用途与用法的解释
Struts2.0 2结果集类型的用法
主要介绍Struts2.0框架的原理和一些基本用法,里面包括和Ajax的组合应用
常用的Struts 2.0标签介绍,里面详细介绍了Struts 2标签的详细用法;
struts2.0中jar包的用法,20字20字20字20字20字20字20字20字
Struts 2.0框架中出现的许多特性旨在让Struts更容易使用: · 改进的设计: 与Struts 1相比,Struts 2的所有类都基于接口,核心接口独立于HTTP。这些API并不依赖服务器小程序API。 · 简化的Action: Struts 2 Action...
struts2.0官方项目之四(showcase) <br>=================================================== Struts2.0官方项目共4个,名字如下: <br>blank mailreader portlet showcase <br>这4个官方...
struts2.0官方项目之一(blank) <br>=================================================== Struts2.0官方项目共4个,名字如下: <br>blank mailreader portlet showcase <br>这4个官方项目...
struts2.0官方项目之三(portlet) <br>=================================================== Struts2.0官方项目共4个,名字如下: <br>blank mailreader portlet showcase <br>这4个官方项目都...
包含了struts2的所有知识点,详解+实例,很适合初学者使用,chm格式便于浏览
struts2权威指南上的一些简单标签用法的实例
UI类标签和非UI类标签的用法,例子。
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...
Struts 2.1抛弃了Codebehind插件提供的“零配置”支持,改为使用Convention插件提供“零配置”,Struts 2.1新增了Portlet支持……为了让众多Struts学习者、工作者快速从Struts 2.0的开发升级到Struts 2.1,笔者升级...