[转载] 第七章 struts国际化

 

一、国际化有四种:一是jsp页面国际化,二是action里信息的国际化,三是类型转化信息的国际化,四是输入校验的国际化
二、Java语言是用类来提供国际化的支持。java.util.
ResourceBundle类代表的是一个资源包,它里面主要都是一些静态的方法。
三、java.util.Locale类它主要对应的是每一种国家的语言,它里面有好多静太的字段。它的
getDisplayCountry返回国家名字getCountry返回国家的编码,而则getDisplayLanguage返回每个国家的语言getLanguage则返回语言的编码
四、Java虽然提供了国际化的支持,但是并不一定对所有国家的语言都支持,它只对非常主要国家的语言提供支持。
五、用户把想要显示出来的东西写在属性文件里,属性文件以keyvalue的形式了现,这里的key是固定的,这样就可以产生多套属性文件。
六、而关于国际化的
属性文件命名是:基础名+语言编码+国家编码(区分大小写,在根目录下)
七、ResourceBundle它代表的是一个资源包,它是用Locale来加载的。
八、java.text.MessageFormat类消息格式化类,它主要用的是format的静太方法。使用之前还必须先得到属性文件里key的值。format的第一个参数是属性文件里key的值,面后而的是value里对应的每一个参数的值。
九、com.test.i18n包里是三个国际化的例子。
注在属性文件里参数的数字必须是以0开始一个一个向后推。例如:hello=/u4F60/u597D /: {0}{1}
十、jsp页面的国际化时<s:text>标签来显示属性文件里的信息,这个标签里有一个必填的属性name而它对应属性文件里key的值。
十一、想看到国际化的效果只要
设置浏览器的语言即可
十二、在
硬编码校验action里的getText方法是从属性文件里获得信息,而里面的参数是属性文件里的key
十三、校验框架的错误级别只是field级别的。
十四、校验框架的验证类型在com.opensymphony.xwork2.validator.validators包下的default.xml里。
十五、在校验框架里
messag标签的key属性对应的就属性文件的key
十六、
为了不让属性文件过多而复杂struts2可以把属性文件进行分级别,有全局的,包级别的还原有类级别的
十七、包级别的就是在某一个包下面建立一个以package为基础名的属性文件。

比如在action包下可以建一个package_zh_CN.properties属性文件,对应也可以建立其他国际化得属性文件,如:package_en_US.properties
十八、在包级别里如果有与全局一样的key的话,则
以包级别的信息为准
十九、
类级别的属性文件则是以类名以基础名的属性文件
二十、在所有级别的信息里,程序是
先从类级别的信息一个个向上找的
二十一、
表单的信息也需要国际化如果要表单的信息国际化,则不可以把表单的theme设置为最简单的
二十二、
表单里的信息国际化则是用标签的key值去对应属性文件里的key
二十三、
<s:i18n>这个标签可以在源文件的根目录下找到指定属性文件里指定的key,而不用担心会有重复的key值。
二十四、
<s:i18n>里的name属性是对应源文件要根目录下属性文件的基础名,而它里面加上<s:text>标签,用它的name指定这个文件里的kye。而在<s:text>里还可以加上<s:param>为国际化提供参数值
二十五、在默认的拦截器栈里有一个i18n的拦截器,它是拦截所有的action,它作的事情只两件指定用户使用的是那个国家的语言然后完成国际化。

 

注意:在struts.xml中的配置(全局国际化,message_zh_CN.properties

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值