zoukankan      html  css  js  c++  java
  • Struts2的国际化入门

    Struts2的国际化入门

      Struts2国际化是建立在Java国际化的基础上的,一样是通过提供不同国家/语言环境的消息资源,然后通过ResourceBundle加载指定Locale对应的资源文件,再取得该资源文件中指定key对应的消息--整个过程与JAVA程序的国家化完全相同,只是Struts2框架对JAVA程序国际化进行了进一步封装,从而简化了应用程序的国际化.

    Struts2需要国际化的部分

      a、类型转换:
      b、数据校验:
      c、验证框架xml配置文件的国际化:RegisterAction-validation.xml文件<message key="username.xml.invalid"/>
      d、JSP页面的国际化:<s:text name="addUser"/>
      e、Action的国际化:利用ActionSupport类提供的getText()方法.

    Struts2中加载全局资源文件

      方式一:struts.xml

    <constant name="struts.custom.i18n.resources" value="baseName"/>

      方式二:struts.properties

    struts.custom.i18n.resources=baseName

    Struts2访问国际化消息主要有如下三种方式:

      a、JSP页面:<s:text name="key"/>

      b、Action类中:使用ActionSupport类的getText方法。

      c、表单元素的Label里:为表单元素指定一个key属性

    Struts2中提供了如下两种方式来填充消息字符串中的占位符

      a、JSP页面,在<s:text.../>标签中使用多个<s:param.../>标签来填充消息中的占位符。

      b、Action中,在调用getText方法时使用getText(String aTextName,List args)或getText(String key, String[] args)方法来填充占位符。

    加载资源文件的方式

      a、加载全局资源文件: <constant name="struts.custom.i18n.resources" value="baseName"/>

      b、包范围资源文件 :为Struts2指定包范围资源文件的方法是,在包的根路径下建立多个文件名为package_language_country.properties的文件,一旦建立了这个系列的国际化资源文件,应用中处于该包下的所有Action都可以访问该资源文件。需要注意的是上面的包范围资源文件的baseName就是package,不是Action所在的包名。

      c、Action范围资源文件:在Action类文件所在的路径建立多个文件名为ActionName_language_country.properties的文件。

    加载资源文件的顺序

      类资源->包资源->全局资源

  • 相关阅读:
    c++,不能声明为虚函数的函数
    Abstract
    多态性vptrvtable
    C++的重写,重载,重定义
    final
    scanf()和getchar() 使用
    深入理解C++中的mutable关键字
    equal和==
    MoQ(基于.net3.5,c#3.0的mock框架)简单介绍
    VS2008快捷键
  • 原文地址:https://www.cnblogs.com/caoyc/p/5588579.html
Copyright © 2011-2022 走看看