javaweb之国际化

来源:互联网 发布:乐高淘宝旗舰店 编辑:程序博客网 时间:2024/05/28 01:36

  前边我们讲过了javaweb中的文件上传和下载,下边我们讲一讲javaweb中的国际化的实现。与之对比的是Spring中如何实现国家化的功能。

  1. 国际化

  软件的国际化,就是在软件开发时,让程序支持多个国家或者地区的本地化应用。本地化应用是指:一个软件在不同的国家和地区采取当地的时间,日期,语言,数字,货币。

  国际化又称为i18n,international总共十八个字母。

  本地敏感数据:随用户区域信息而变化的数据,如语言,数字,货币,时间日期等。

  2. 国际化的作用

  我们最终要使得一款软件支持国际化的应用,即一款软件不需要经过编译和修改就可以在不同的国家或者地区正常使用。那么如何实现对一款软件支持国际化呢?

  ① 对于文本信息,程序运行时根据本地信息(Locale对象)来读取与程序分离的资源文件中的文本信息

  ② 对于数值,货币,时间,日期等本地敏感数据在程序中动态生成,即通过Locale对象来动态的生成。

  3.Locale类

  ① 这个类封装了本地信息,即当前的程序运行时采用哪一个国家或地区的敏感数据。代表了一个特定的地理/文化/政治上的区域。

  ② 可以通过request对象获取:request.getLocale()

  ③ 一个Locale对象不会验证它代表的语言和国家地区信息是否正确,只是向本地敏感的类提供本地信息。

  ④ 本地敏感类:JDK中某个类运行时需要根据Locale对象来调整其功能的类,与国际化相关的格式化和解析任务由本地敏感信息类去完成。

  4.DataFormat抽象类

  这个抽象类的作用是:顾名思义,是做日期格式化的。他可以将数据在Java.Util.Date对象和String对象之间自由的转换,并且可以设定转换的格式。分别调用其对象的parse()和format()方法。

  5.NumberFormat抽象类

  这个类的作用是:顾名思义就是,做数字/货币格式化的。他可以将数据在Java.util.Integer对象和String之间自由的转换,并且可以设定转换的格式。

  6.MessageFormat

  顾名思义,这个类的作用就是将消息进行格式化的,并且可以在字符串中设置一个占位符。

  7.ResourceBundle

  这个类的作用是由传入的文件基名和Locale对象所代表的语言和国家来获取不同的资源包下的对象。

  资源包的名称必须是:文件基名_语言_国家.properties。如i18n_zh_CN。由这个ResourceBundle对象来通过getValue()方法获取对应的键对应的值。

 

原创粉丝点击