系列文章目录
一、什么是国际化
软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据
例如苹果:
苹果英文网:https://www.apple.com/
苹果中文网:https://www.apple.com/cn
苹果香港网:https://www.apple.com/hk
苹果日本网:https://www.apple.com/jp/
二、使用步骤
(1)、第一步:配置资源包
命名举例:
message_zh_CN.properties
message_zh_HK.properties
message_en_US.properties
再写一个英文版
写完之后有什么用呢?
我们来看怎么读这个数据
两种方式,一种是通过java代码,一种是通过struts框架
java代码方式,我们先写个单元测试类
1、写个test包,再写个test类
要注意 I18N意思就是国际化的意思
这样就不需要我们自己导入jar包了
注意这个只有web项目才有,如果是一个java的项目是不能这么操作的
(2)、第二步:读取资源包内容
也可以直接新建一个单元测试
然后加上@Test 运行起来
我们发现默认读取的是中文
如果我们要指定,怎么指定?
调用getBundle的时候重载另一个方法,多一个参数
至此完成
三、在jsp中怎么国际化
jap里面怎么使用呢,首先jsp里面,我们就不用struts标签了,用原始标签
我们也可以自动去获取一个国家的默认语言
struts中国际化
前面的跟struts无关,这里是直接用struts框架来写
对比不使用框架的国际化,struts框架的国际化就要简洁很多
具体操作流程:
这里注意,默认是没有打开国际化的,所以我们要把它打开
然后我们login.jsp拷贝一下 重命名 login2.jsp
把用户名、密码(中文)那些去掉
引入struts标签,就可以使用struts框架了
上面讲了struts全局包的配置,如果不是全局的,是局部的怎么配置
struts局部国际化配置
包范围内的资源包,有点烫嘴
再整一个文件
下面两个文件名字都改一下
然后配置一下struts,就可以访问这个方法了
假如没有找到包的国际化文件,就会去找全局的国际化文件
局部消息资源包
其它的造作步骤1都一样
优先级也是一样的规律:先近后远,即先读局部的,再读取包级别的,再读取全局的
总结
1、单元测试不会放到src的包里面里面,我们会新建一个test包
2、回顾