struts2.0国际化

来源:互联网 发布:枪神纪刷点卷软件 编辑:程序博客网 时间:2024/06/06 02:19
    1. 在src文件夹中加入struts.properties文件,内容如下:
    2. struts.custom.i18n.resources=globalMessages
      Struts 2.0有两个配置文件,struts.xml和struts.properties都是放在WEB-INF/classes/下。
      • struts.xml用于应用程序相关的配置
      • struts.properties用于Struts 2.0的运行时(Runtime)的配置
      1. 在src文件夹中加入globalMessages_en_US.properties文件,内容如下:

        HelloWorld=Hello World!
      1. 在src文件夹中加入globalMessages_zh_CN.properties文件,内容如下:
      2. HelloWorld=你好,世界!
        在此想和大家分享一个不错的编写properties文件的Eclipse插件(plugin),有了它我们在编辑一些简体中文、繁体中文等Unicode文本时,就不必再使用native2ascii编码了。您可以通过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的图标作为标识。
      1. 这就是Struts 2.0的一个优势,因为它默认支持EL,所示我们可以用getText方法来简洁地取得国际化字符串。另外更普遍的情况——在使用UI表单标志时,getText可以用来设置label属性
      2.  

        资源文件查找顺序

        之所以说Struts 2.0的国际化更灵活是因为它可以能根据不同需要配置和获取资源(properties)文件。在Struts 2.0中有下面几种方法:

        1. 使用全局的资源文件,方法如上例所示。这适用于遍布于整个应用程序的国际化字符串,它们在不同的包(package)中被引用,如一些比较共用的出错提示;
        2. 使用包范围内的资源文件。做法是在包的根目录下新建名的package.properties和package_xx_XX.properties文件。这就适用于在包中不同类访问的资源;
        3. 使用Action范围的资源文件。做法为Action的包下新建文件名(除文件扩展名外)与Action类名同样的资源文件。它只能在该Action中访问。如此一来,我们就可以在不同的Action里使用相同的properties名表示不同的值。例如,在ActonOne中title为“动作一”,而同样用title在ActionTwo表示“动作二”,节省一些命名工夫;
        4. 使用<s:i18n>标志访问特定路径的properties文件。使用方法请参考我早前的文章《常用的Struts 2.0的标志(Tag)介绍》。在您使用这一方法时,请注意<s:i18n>标志的范围。在<s:i18n name="xxxxx">到</s:i18n>之间,所有的国际化字符串都会在名为xxxxx资源文件查找,如果找不到,Struts 2.0就会输出默认值(国际化字符串的名字)。