讲解一下国际化的内容,比如书有些大的网站可以一键切换语言,例如中英切换,这时候就会用到国际化。但是由于struts2大多数是用来写后台,国际化并不是十分重要,而且用国际化开发会减慢开发的速度,大家只要了解就可以了。我们新建一个项目I18N,因为国际化这个单词internationalization,“I”与“N”之间有18个字母,用I18N表示。
Test.java
import java.util.Locale; import java.util.ResourceBundle; public class Test { public static void main(String[] args){ ResourceBundle res = ResourceBundle.getBundle("app",Locale.US); System.out.println(res.getString("welcome.msg")); } }
这里使用ResourceBundle类,新建两个.properities文件(app_en_US.properties和app_zh_CN.properties)命名前半段任意,后半段是固定的的,一个表示美国英文,一个表示中国汉语。
调用ResourceBundle的getBundle方法,传入参数app,这样可以找到要调用的资源文件,后面填入地区(注意是地区不是语言)。
再看一下app_en_US.properties
app_en_US.properties
welcome.msg=hello,sir
这样就可以打印出hello,sir。
但是在我们用中文的时候就会出现输出乱码的问题。其实是编码的问题。有一种解决办法是吧文件里的中文换成ascii码(如welcome.msg="\u4e48"),用java命令 native2ascii 可以将中文转换为ascii码,但是当我们要修改的时候就会变的相当复杂。
这里推荐使用一个myeclipse插件,properties文件的Eclipse插件(plugin)
您可以通过Eclipse中的软件升级(Software Update)安装此插件,步骤如下:
1、展开Eclipse的Help菜单,将鼠标移到Software Update子项,在出现的子菜单中点击Find and Install;
2、在Install/Update对话框中选择Search for new features to install,点击Next;
3、在Install对话框中点击New Remote Site;
4、在New Update Site对话框的Name填入“PropEdit”或其它任意非空字符串,在URL中填入http://propedit.sourceforge.jp/eclipse/updates/;
5、在Site to include to search列表中,除上一步加入的site外的其它选项去掉,点击Finsih;
6、在弹出的Updates对话框中的Select the features to install列表中将所有结尾为“3.1.x”的选项去掉(适用于Eclipse 3.2版本的朋友);
7、点击Finish关闭对话框;
8、在下载后,同意安装,再按提示重启Eclipse,在工具条看到形似vi的按钮表示安装成功,插件可用。此时,Eclpise中所有properties文件的文件名前有绿色的P的图标作为标识。
完成后,把文件用这个插件打开编写就可以了,如图。