1.自动国际化
@Component
public class LocaleMessageSourceService {
@Resource
private MessageSource messageSource;
/**
* @param code :对应messages配置的key.
* @return
*/
public String getMessage(String code){
return getMessage(code,null);
}
/**
* @param code :对应code配置的key.
* @return
*/
public Integer getCode(String code){
return Integer.parseInt(getMessage(code, null));
}
/**
*
* @param code :对应messages配置的key.
* @param args : 数组参数.
* @return
*/
public String getMessage(String code,Object[] args){
return getMessage(code, args,"");
}
/**
*
* @param code :对应messages配置的key.
* @param args : 数组参数.
* @param defaultMessage : 没有设置key的时候的默认值.
* @return
*/
public String getMessage(String code,Object[] args,String defaultMessage){
//这里使用比较方便的方法,不依赖request.
Locale locale = LocaleContextHolder.getLocale();
return messageSource.getMessage(code, args, defaultMessage, locale);
}
}
2.取messages内容
return new ResponseResult(500,false,localeMessage.getMessage("database.fail.message"),null);