• 笔记:Struts2 国际化


    • 视图页面的国际化
      • JSP页面中指定国际化资源需要借助<s:i18n…/>标签,如果把<s:i18n…/>标签作为<s:test…/>标签的父标签,则会直接加载父标签里指定的国际化资源文件;如果把<s:i18n…/>作为表单的父标签,则表单标签的 Key 属性将会从国际化资源文件中加载消息。
      • 视图页面资源文件保存路径一般放在 srcviewResources 目录下,路径规则为页面的URL地址及文件名称(不包括扩展名称),资源文件的命名参考后续节点说明。
    • Action的国际化
      • 需要对action的输入校验提示信息进行国际化,则可以为action单独指定一份国际化资源文件,在action类文件所在路径建立多个文件名为 ActionName_language_country.properties 的文件,action 的国际化资源文件是自动加载的(必须继承ActionSupport)该Action及对应的校验规则文件都可以使用
      • 为了在Action中访问国际化资源文件消息,可以使用 ActionSupport类的 getText 方法
      • Action的校验规则文件中使用国际化资源,则可以通过<message…/>元素指定key属性来实现
    • Package的国际化
      • Package的国际化资源文件的功能基本和Action的功能类似,Package的国际化资源文件,可以被该包范围下的所有Action使用,在Package的根路径下,建立多个文件为 package_language_country.properties(注意:package是固定名称,不是包名)
    • 全局国际化
      • struts.xml 或者 struts.properties 文件中配置常量,只需要配置 struts.custom.i18n.resources 常量,该常量值为全局国际化资源的 baseName
      • 全局国际化消息资源可以被整个应用的所有组件(JSP页面、ActionAction校验文件等),全局国际化资源文件存储在 src 目录下。注意:如果是JSP页面使用,不需要使用 <s:i18n…/>标签
    • 资源文件 
      • 为了实现程序的国际化,必须先提供程序所需要的资源文件。资源文件的内容是很多的 key-value对,其中key是程序使用的部分,而value是程序的显示部分,资源文件的命名可以是如下3种形式:

                       baseName_language_country.properties

                       baseName_language.properties

                       baseName.properties

      其中baseName是资源文件的基本名称,用户可以自由定义,而 language 和 country 都不可随意变化,必须是Java所支持的语言和国家,可以通过Locale类的getAvailableLocale方法获取支持的,该方法返回一个Locale数组,该数组中包含了所有支持的国家和语言,代码如下:

         

      package com.ascent.i18n.test;

      import java.util.*;

      public class LocalTest {

      public static void main(String[] args) {

      Locale [] locales = Locale.getAvailableLocales();

       

      for(Locale locale:locales){

      //输出所有支持的国家

      System.out.print(locale.getDisplayCountry()+":"+locale.getCountry());

      //输出所有支持的语言

      System.out.println(locale.getDisplayLanguage()+":"+locale.getLanguage());

      }

      }

      }

    • Native2asciiNative-to-ASCII Converter 工具,
      • 语法为 native2ascii [options] [inputfile [outputfile]]
      • UTF-8转换为 ASCII 示例如下: native2ascii -encoding UTF-8 globalResource.properties globalResource_zh_CN.properties
      • ASCII转换为UTF-8示例如下:native2ascii -reverse -encoding UTF-8 globalResource_zh_CN.properties globalResource.properties

           

    本文版权归作者 李雪(博客地址:https://www.cnblogs.wiki)所有,欢迎转载和商用,请在文章页面明显位置给出原文链接并保留此段声明,否则保留追究法律责任的权利,其他事项,可留言咨询。
  • 相关阅读:
    委托系列整理
    EF Lambda 多表查询
    枚举,Enum,常规使用demo记录
    自定义Window 服务
    xpath 操作XML
    MVC 自定义过滤器
    时间比对,常用细节记录
    Lock锁_线程_线程域
    break、continue和goto 三者作用介绍
    .net 学习路线感想
  • 原文地址:https://www.cnblogs.com/li3807/p/6353856.html
Copyright © 2020-2023  润新知