JavaWEB国际化——笔记
来源:互联网 发布:雷电法术升级数据 编辑:程序博客网 时间:2024/05/17 01:12
1、什么是JavaWEB国际化
简单来说就是根据不同的区域,选择所对应地区的页面风俗习惯
一般情况下所要改变的内容有语言、数字、货币、日期,这些随着用户信息而变化的数据称为本地信息敏感数据
国际化又称i18n:internationalization
所以对于这些本地信息敏感数据,还有错误提示信息、状态信息等文本信息,不是直接写在WEB程序中,而是存储在外部资源中(properties文件)
2、Locale类
Locale实例对象代表一个特定的地理,政治或文化上的区域,它本身不做验证它自己代表的语言和地区信息是否正确,只是向本地敏感的类提供本地信息
2.1 Local类的创建通常不需要new出来
只需要调用enum(点后面都是大写的地区常量,所以应该是枚举类
,这个我随后做验证!)
来创建一个对象
3、本地敏感的类
就是在运行时需要根据Locale类对象来调整其功能的类就叫本地敏感类,比如有以下几个:
3.1DateFomat类
它是一个抽象类,可以调用工厂方法获取对象,当调用这个方法的所传的参数就会有Locale类的对象,
3.2NumberFormat
和DataFomat相似,
有个getCurrentInstance方法获取NumberFomat对象,调用对象的fotmat方法(参数为数字类型),返回的是货币格式的字符串
3.3MessageFormat
模式字符串与占位符:
模式字符串:On {1},xxxx{2}dsajjj{3}
占位符的三种方式
3.3.1{argumentindex}:
0-9之间的数字,表示表示索引
3.3.2{argumentIndex,formatType}
参数的格式化类型
3.3.3{argumentIndex,formatType,FormatStyle}:
与指定的格式化类型对应的模式,必须是一些合法模式的字符串
`public void testMessageFormat(){ String str = "Date :{0},Number:{1}"; Date date = new Date(); double num = 1234.12; String result = MessageFormat.format(str,date,num); System.out.println(result);}`
4、ResourceBundle :资源包类
4.1在类加载路径下需要有对应的资源文件:baseName.properties 其中baseName是基名
4.2可以使用 基名语言代码国家代码.properties 来添加不同国家或地区资源文件
4.3可以调用ResourceBundle的getBundle(基名,Locale实例)获取ResourceBundle对象
4.4可以调用ResourceBundle的getString(key)来获取资源文件的value值
5、WEB的国际化
5.1可以使用request.getLocale()获取Locale对象
5.2可以使用JSTL的fmt标签完成的国际化,后面使用框架提供的标签完成
5.3实现中英文的切换:
①提供两个超链接,提供不同的变量值
②根据变量值确定对应的Locale对象
③把Locale对象放入的session中
④绑定Locale对应的资源文件
<c:if test="${sessionScope.locale != null}"> <fmt:setBundle basename="i18n"/></c:if>
- JavaWEB国际化——笔记
- javaweb学习总结(三十一)——国际化(i18n)
- 【小企】javaweb学习总结(三十一)——国际化(i18n)
- javaweb学习总结(三十一)——国际化(i18n)
- javaweb学习总结(三十一)——国际化(i18n)
- javaweb学习总结(三十一)——国际化(i18n)
- javaweb学习总结(三十一)——国际化(i18n)
- javaweb学习总结(三十一)——国际化(i18n)
- javaweb学习总结(三十一)——国际化(i18n)
- javaweb学习总结(三十一)——国际化(i18n)
- javaweb学习总结(三十一)——国际化(i18n)
- javaweb学习总结(三十一)——国际化(i18n)
- javaweb学习总结(三十一)——国际化(i18n)
- javaweb学习总结(三十一)——国际化(i18n)
- JavaWeb学习总结(三十一)——国际化(i18n)
- javaweb-国际化
- javaweb国际化
- JavaWeb国际化
- hdu 2020
- Android中常用146种颜色对应的xml色值文件
- C/C++ sort函数的用法
- iOS之AFNetworking
- idea下使用Maven 的test命令乱码
- JavaWEB国际化——笔记
- HDU 3308 LCIS
- TOJ 3855.Price
- Genymotion 破解版 完全破解 注册码 注册机
- POJ 3668
- 欢迎使用CSDN-markdown编辑器
- 数学向量推导______Acperience( hdu 5734 2016多校 )
- 51nod 1485字母排序
- Opencv图像识别从零到精通(26)---分水岭