📄 异常国际化处理
内部资料,请刷新扫码登录
pigcloud
项目可能涉及到户对项目进行访问或在国外部,那么在项目中,为客户展现的页面或者操作的信息就需要使用不同的语言,这就是我们所说的项目国际化
# ① 配置 i18n 错误文案
pigx-common-core/resource/i18n/ messages_zh_CN.properties
sys.user.username.existing={0} 用户名已存在
sys.user.userInfo.empty={0} 用户信息为空
# ② ErrorCodes.java 中配置相应编码
String SYS_USER_USERNAME_EXISTING = "sys.user.username.existing";
String SYS_USER_USERINFO_EMPTY = "sys.user.userInfo.empty";
# ③ 使用 MsgUtils 获取国际化信息
MsgUtils.getMessage(ErrorCodes.SYS_USER_USERNAME_EXISTING, username);
# 特别说明
- ● 目前系统只内置了简体中文的错误信息 messages_zh_CN.properties
- ● 修改MsgUtils.java中的配置,默认中文。
- ● 可以通过 LocaleContextHolder.getLocale() 动态设置语言环境
/**
* 通过code 获取中文错误信息
* @param code
* @return
*/
public String getMessage(String code) {
MessageSource messageSource = SpringUtil.getBean("messageSource");
return messageSource.getMessage(code, null, Locale.CHINA);
}
/**
* 通过code 和参数获取中文错误信息
* @param code
* @return
*/
public String getMessage(String code, Object... objects) {
MessageSource messageSource = SpringUtil.getBean("messageSource");
return messageSource.getMessage(code, objects, Locale.CHINA);
}