• 视图页面的国际化
    • 在JSP页面中指定国际化资源需要借助<s:i18n…/>标签,如果把<s:i18n…/>标签作为<s:test…/>标签的父标签,则会直接加载父标签里指定的国际化资源文件;如果把<s:i18n…/>作为表单的父标签,则表单标签的 Key 属性将会从国际化资源文件中加载消息。
    • 视图页面资源文件保存路径一般放在 src\viewResources 目录下,路径规则为页面的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页面、Action、Action校验文件等),全局国际化资源文件存储在 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());

    }

    }

    }

  • Native2ascii(Native-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

       
       

笔记:Struts2 国际化的更多相关文章

  1. Struts2学习笔记(八)——国际化

    1.Struts2国际化介绍 国际化即internationalization简称i18n. 为了实现程序的国际化,必须先提供程序所需要的资源文件.资源文件的内容是key-value键值对. 资源文件 ...

  2. struts2国际化

    struts2国际化 1:什么是国际化? 国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式.它要求从产品中抽离所有的与语言,国家/地区和文化相关的元素 ...

  3. 【转】Struts2国际化

    原文章:http://www.cnblogs.com/hellokitty1/p/5083663.html 简单理解     国际化简称i18n,其来源是英文单词 internationalizati ...

  4. (六)Struts2 国际化

    所有的学习我们必须先搭建好Struts2的环境(1.导入对应的jar包,2.web.xml,3.struts.xml) 第一节:国际化简介 国际化(Internationlization),通俗地讲, ...

  5. struts2系列(四):struts2国际化的多种方式

    一.struts2国际化原理 根据不同的Locale读取不同的文本. 例如有两个资源文件: 第一个:message_zh_CN.properties 第二个:message_en_US.propert ...

  6. 菜鸟学SSH(三)——Struts2国际化自动检测浏览器语言版

    前几天发了一篇Struts国际化的博客——<菜鸟学习SSH(二)——Struts2国际化手动切换版>,有网友提了一个意见,见下图: 于是就有了下面修改的版本: web.xml <?x ...

  7. struts2学习(10)struts2国际化

    一.国际化简介: 二.struts2国际化设置: struts.xml: <?xml version="1.0" encoding="UTF-8" ?&g ...

  8. Struts2国际化-getText()方法

    转自https://blog.csdn.net/qq_43560838/article/details/83747604 一:简单理解 国际化简称i18n,其来源是英文单词 international ...

  9. [JavaWeb基础] 016.Struts2 国际化配置

    如果一个软件想要让其受众是全球或者是几个国家的人,那么这个软件就需要支持多种语言,那么我们就需要软件的国际化去对一些文字信息进行国际化处理.web也一样,当外国人打开我们的网站,要是看到满屏幕的中文, ...

  10. java学习笔记 (9) —— Struts2 国际化

    1.Test.java package com.i18n; import java.util.Locale; public class Test1 { public static void main( ...

随机推荐

  1. 阻止微信浏览器/QQ浏览器长按弹框“在浏览器打开”

    这个弹框实际上等同于PC环境下的鼠标右键的弹框,因此只要禁止页面的弹框事件就能完美屏蔽该弹框对我们功能带来的影响.程序代码如下: document.oncontextmenu=function(e){ ...

  2. win10系统搭建虚拟机:VMware Workstation Player 12环境+Ubuntu Kylin 16.04 LTS系统

    笔者小白一枚,其实连虚拟机是个啥都不知道...实属惭愧,介于此所以今天倒腾了一下花了一上午就已经搭建好一个VMware Workstation Player 12免费版的,很哈皮,于是赶紧分享一下. ...

  3. PCI9054 学习小结

    PCI的基本协议这里就不介绍了,因为一般的芯片协议都是集成好的,我只需要大体了解就行,不需要做芯片,我感觉就不需要太了解协议. 这里讲解是基于PLX 的9054(9052)芯片为基础的,本人只是入门, ...

  4. phpcms V9 默认模板文件目录结构_PHPCms教程

    PHPCMSV9 默认模板目录结构 templates   框架系统模板目录            announce    公告                show.html       内容页  ...

  5. R语言︱基本函数、统计量、常用操作函数

    先言:R语言常用界面操作 帮助:help(nnet) = ?nnet =??nnet 清除命令框中所有显示内容:Ctrl+L 清除R空间中内存变量:rm(list=ls()).gc() 获取或者设置当 ...

  6. PL/SQL 记录 Record 简介

    记录类型是表中当行数据结构的一个镜像.每个记录只存储一行数据,记录包含的是字段,而不是列. 1.用%rowtype属性隐式定义记录类型 declare individual individuals%r ...

  7. 如何利用JavaScript遍历JSON数组

    1.设计源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...

  8. 【Luogu4137】Rmq Problem/mex (莫队)

    [Luogu4137]Rmq Problem/mex (莫队) 题面 洛谷 题解 裸的莫队 暴力跳\(ans\)就能\(AC\) 考虑复杂度有保证的做法 每次计算的时候把数字按照大小也分块 每次就枚举 ...

  9. [HNOI2014]米特运输

    显然知道一个节点就可以推出整棵树 然而直接乘会爆longlong 所以考虑取log 最后排序算众数即可 # include <stdio.h> # include <stdlib.h ...

  10. 【BZOJ2693】jzptab

    Time Limit: 5000 ms Memory Limit: 512 MB description 给你\(n, m\),求\(\sum\limits_{i=1}^{n}\sum\limits_ ...