笔记:Struts2 国际化
- 视图页面的国际化
- 在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 国际化的更多相关文章
- Struts2学习笔记(八)——国际化
1.Struts2国际化介绍 国际化即internationalization简称i18n. 为了实现程序的国际化,必须先提供程序所需要的资源文件.资源文件的内容是key-value键值对. 资源文件 ...
- struts2国际化
struts2国际化 1:什么是国际化? 国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式.它要求从产品中抽离所有的与语言,国家/地区和文化相关的元素 ...
- 【转】Struts2国际化
原文章:http://www.cnblogs.com/hellokitty1/p/5083663.html 简单理解 国际化简称i18n,其来源是英文单词 internationalizati ...
- (六)Struts2 国际化
所有的学习我们必须先搭建好Struts2的环境(1.导入对应的jar包,2.web.xml,3.struts.xml) 第一节:国际化简介 国际化(Internationlization),通俗地讲, ...
- struts2系列(四):struts2国际化的多种方式
一.struts2国际化原理 根据不同的Locale读取不同的文本. 例如有两个资源文件: 第一个:message_zh_CN.properties 第二个:message_en_US.propert ...
- 菜鸟学SSH(三)——Struts2国际化自动检测浏览器语言版
前几天发了一篇Struts国际化的博客——<菜鸟学习SSH(二)——Struts2国际化手动切换版>,有网友提了一个意见,见下图: 于是就有了下面修改的版本: web.xml <?x ...
- struts2学习(10)struts2国际化
一.国际化简介: 二.struts2国际化设置: struts.xml: <?xml version="1.0" encoding="UTF-8" ?&g ...
- Struts2国际化-getText()方法
转自https://blog.csdn.net/qq_43560838/article/details/83747604 一:简单理解 国际化简称i18n,其来源是英文单词 international ...
- [JavaWeb基础] 016.Struts2 国际化配置
如果一个软件想要让其受众是全球或者是几个国家的人,那么这个软件就需要支持多种语言,那么我们就需要软件的国际化去对一些文字信息进行国际化处理.web也一样,当外国人打开我们的网站,要是看到满屏幕的中文, ...
- java学习笔记 (9) —— Struts2 国际化
1.Test.java package com.i18n; import java.util.Locale; public class Test1 { public static void main( ...
随机推荐
- FusionCharts多数据验证饼图label是否重叠
昨天,有人问我一个问题:由于饼图的数据太多,label标签上的汉字过多,导致重叠,该怎么解决? 今天我用大量的数据,label标签的字符也很多,但是通过验证没有发现有重叠的情况啊! 1.验证的JSP页 ...
- 通过地址获得经纬度(百度Geocoding API)
1.什么是Geocoding? Geocoding API 是一类简单的HTTP接口,用于提供从地址到经纬度坐标或者从经纬度坐标到地址的转换服务,用户可以使用C# .C++.Java等开发语言发送HT ...
- Count:2org.apache.batik.transcoder.TranscoderException: null
1.错误描述 Count:2org.apache.batik.transcoder.TranscoderException: null Enclosed Exception: The current ...
- java.lang.IllegalStateException: Failed to load ApplicationContext
1.错误描述 七月 13, 2014 6:34:41 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBean ...
- winhex中判断+MBR+DBR+EBR方法
[/hide] 扇区开始描述). 用 winhex 做U盘免疫AUTO.INF 用WinHex制作无法修改的AutoRun.inf文件 在我们日常工作中,经常需要使用闪存(也称为U盘或者优盘)主要是A ...
- OpenStack_I版 4.Dashboard部署
由python的DjangoWeb框架开发的 使用keystone默认的角色来访问各种服务 Dashboard安装 Dashboard是openstack的Web管理界面,需要将它 ...
- java 单例模式-饿懒汉模式
单例-饿汉模式 1.将构造方法私有化,不允许外部直接创建对象 private Singleton(){}2.自己在类的内部创建一个唯一实例 private static Singleton insta ...
- 使用图片作为a标签的点击按钮时,当触发touchstart的时候,往往会有一个灰色的背景,想要去掉的话可以用下面这种方式
a,a:hover,a:active,a:visited,a:link,a:focus{ -webkit-tap-highlight-color:rgba(0,0,0,0); -webki ...
- 三十天学不会TCP,UDP/IP网络编程 - 绅士的开始
经过了过年的忙碌和年初的懈怠一切的日子,我又开始重新更新了~这是最新的一篇~完整版可以去gitbook(https://www.gitbook.com/@rogerzhu/)看到. 如果对和程序员有关 ...
- 决策树系列(四)——C4.5
预备知识:决策树.ID3 如上一篇文章所述,ID3方法主要有几个缺点:一是采用信息增益进行数据分裂,准确性不如信息增益率:二是不能对连续数据进行处理,只能通过连续数据离散化进行处理:三是没有采用剪枝的 ...