zoukankan      html  css  js  c++  java
  • 笔记: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)所有,欢迎转载和商用,请在文章页面明显位置给出原文链接并保留此段声明,否则保留追究法律责任的权利,其他事项,可留言咨询。
  • 相关阅读:
    118/119. Pascal's Triangle/II
    160. Intersection of Two Linked Lists
    168. Excel Sheet Column Title
    167. Two Sum II
    172. Factorial Trailing Zeroes
    169. Majority Element
    189. Rotate Array
    202. Happy Number
    204. Count Primes
    MVC之Model元数据
  • 原文地址:https://www.cnblogs.com/li3807/p/6353856.html
Copyright © 2011-2022 走看看