提示信息国际化配置
来源:互联网 发布:知行论坛北交大 编辑:程序博客网 时间:2024/05/29 13:12
1、 提示信息国际化
基础知识
概念
国际化英文单词为:Internationalization,又称I18N,I为因为单词的第一个字母,18为这个单词的长度,而N代表这个单词的最后一个字母
Java国际化使用的类
Java国际化主要通过如下3个类完成
java.util.ResourceBundle:用于加载一个资源(配置文件)
java.util.Locale:对应一个特定的国家/区域、语言环境。
java.text.MessageFormat:用于将消息格式化
国际化资源文件
资源文件的命名可以有3种格式:
XXXX_language_country.properties 优先加载,与环境匹配的配置文件(优点加载标记了language_country)
XXXX_language.properties
XXXX_properties
例如:
messages_zh_CN.properties (中文,中华人民共和国)
messages_en_US.properties(英语,美国)
messages.properties
测试(找到工具类中的ResourcesUtil类 测试 注意配置文件要写)
//根据操作系统环境获取语言环境
Locale locale = Locale.getDefault();
System.out.println(locale.getCountry());//输出国家代码
System.out.println(locale.getLanguage());//输出语言代码s
//加载国际化资源(classpath下resources目录下的messages.properties,如果是中文环境会优先找messages_zh_CN.properties)
ResourceBundle rb = ResourceBundle.getBundle("resources.messages", locale);
String retValue = rb.getString("101");//101是messages.properties文件中的key
System.out.println(retValue);
//信息格式化,如果资源中有{}的参数则需要使用MessageFormat格式化,Object[]为传递的参数,数量根据资源文件中的{}个数决定
String value = MessageFormat.format(retValue, new Object[]{100,200});
System.out.println(value);
国际化工具类ResourcesUtil
学会使用Util工程中的ResourcesUtil从messages.properties中根据key提取信息
ResourcesUtil 类中两个重载方法
方法1:public static String getValue(String fileName, String key)
根据key获取信息
方法2:public static String getValue(StringfileName, String key, Object[] objs)
根据key获取信息最且传入动态参数,参数是object[] 数组
处理结果工具类ResultUtil (主要方法四个)
使用国际化工具取国际化信息并创建操作成功、操作失败、警告等结果对象。
方法如下:
创建失败信息
publicstatic ResultInfo createFail(String fileName,int messageCode,Object[]objs){
Stringmessage=null;
if(objs ==null){
message= ResourcesUtil.getValue(fileName, messageCode+"");
}else{
message= ResourcesUtil.getValue(fileName, messageCode+"",objs);
}
returnnewResultInfo(ResultInfo.TYPE_RESULT_FAIL,messageCode,message);
}
创建成功信息
publicstatic ResultInfo createSuccess(String fileName,intmessageCode,Object[] objs){
Stringmessage=null;
if(objs ==null){
message= ResourcesUtil.getValue(fileName, messageCode+"");
}else{
message= ResourcesUtil.getValue(fileName, messageCode+"",objs);
}
returnnew ResultInfo(ResultInfo.TYPE_RESULT_SUCCESS,messageCode,message);
}
创建警告信息
publicstatic ResultInfo createWarning(String fileName,intmessageCode,Object[] objs){
Stringmessage=null;
if(objs ==null){
message= ResourcesUtil.getValue(fileName, messageCode+"");
}else{
message= ResourcesUtil.getValue(fileName, messageCode+"",objs);
}
returnnewResultInfo(ResultInfo.TYPE_RESULT_WARN,messageCode,message);
}
创建提交结果对象
publicstatic SubmitResultInfo createSubmitResult(ResultInforesultInfo){
returnnew SubmitResultInfo(resultInfo);
}
创建异常结果对象
publicstatic void throwExcepion(ResultInfo resultInfo)throwsExceptionResultInfo{
thrownew ExceptionResultInfo(resultInfo);
}
1.2 本系统国际化配置
1.2.1 定义资源文件
1.拷贝 message 定义messages.properties文件写提示信息
将系统中所有的提示信息(操作成功信息、操作异常信息普通提示信息等)统一配置在资源文件,在java代码只需要调用工具类从资源中文件取出配置信息,避免硬编码.
按模块定义
1.2.2 国际化资源文件使用
createFail方法如何使用?
createFail创建错误结果一般都是为了抛出异常我们在此类中也封装了抛出异常的方法throwExcepion。createFail方法返回throwExcepion,throwExcepion
方法的参数是throwExcepion 所以两个方法结合使用抛出异常代码为:
Config.MESSAGE 为系统的配置文件Config的调用。一般系统中配置信息统一通过静态变量配置Config类中。(例如: public staticfinal String MESSAGE ="resources.messages";)
结合使用方法:
ResultUtil.throwExcepion(ResultUtil.createFail(Config.MESSAGE, 213,
null));
以下是两个方法的源代码:
/**
* 创建错误结果
* @param MESSAGE
* @return
*/
publicstatic ResultInfocreateFail(String fileName,int messageCode,Object[] objs){
Stringmessage=null;
if(objs ==null){
message= ResourcesUtil.getValue(fileName, messageCode+"");
}else{
message= ResourcesUtil.getValue(fileName, messageCode+"",objs);
}
returnnew ResultInfo(ResultInfo.TYPE_RESULT_FAIL,messageCode,message);
}
/**
* 抛出异常
* @param resultInfo
* @throwsExceptionResultInfo
*/
publicstatic void throwExcepion(ResultInfo resultInfo)throwsExceptionResultInfo{
thrownew ExceptionResultInfo(resultInfo);
}
publicstatic void throwExcepion(ResultInfo resultInfo,List<ResultInfo> details)throwsExceptionResultInfo{
if(resultInfo !=null){
resultInfo.setDetails(details);
}
thrownew ExceptionResultInfo(resultInfo);
}
- 提示信息国际化配置
- Struts2配置国际化信息
- webwork显示国际化提示信息及错误
- struts2配置国际化全局资源文件 并 输出国际化信息
- 配置国际化全局资源文件、输出国际化信息
- Struts2_国际化、配置全局资源与输入国际化信息
- struts2-19配置国际化全局资源文件、输出国际化信息
- struts2国际化---配置国际化全局资源文件并输出国际化资源信息
- MyEclipse JAVA提示信息配置
- Struts2验证框架XML配置中国际化信息参数
- 第二十四章 配置国际化全局资源文件、输出国际化信息
- 复习struts2之配置国际化全局资源文件、输出国际化信息
- Struts2的国际化、配置全局资源与输出国际化信息、国际化—JSP中直接访问某个资源文件
- 配置Struts.xml无提示信息解决
- Eclipse中配置Ehcache提示信息
- 编写配置信息时候无法出现提示信息,
- 信息的国际化
- struts2信息国际化
- PJSIP——Linux编译库并使用
- LightOJ - 1169 Monkeys on Twin Tower(记忆化搜索)
- 一个SQL注入绕过分析(来源swpu web700)
- Python/scikit-learn机器学习库(线性、二次判别分析)
- Http
- 提示信息国际化配置
- hdu 1051 Wooden Sticks(Asia 2001, Taejon (South Korea))
- Python 3 之 Chrom 截获的Headers转成dict格式
- hdoj4727The Number Off of FFF
- eclipse新建项目出现两个红点
- JS学习笔记(01)—— 基础
- nyoj 中位数 124 (数学)
- centos 安装KVM及使用
- eclipse javaweb 项目异常