网站首页> 后端开发> Java> spring boot国际化之MessageSource的使用方法

spring boot国际化之MessageSource的使用方法

时间:2020-11-24 14:52:57 阅读:869次 来源:互联网

前言

修改properties文件的目录:在application.yml或者application.properties中配置 spring.message.basename

spring:
  application:
    name: test-worklog
  messages:
    basename: i18n/messages
    encoding: UTF-8

spring boot国际化之MessageSource的使用方法

MessageSource的使用:

1. 无参数

operation.success = 操作成功。

String msg1 = this.messageSource.getMessage(" operation.success ", null, Locale.CHINA);

2. 动态参数

start.ge.end = 开始日期{0}必须小于结束日期{1}!

String [] param = {startDate, endDate};

String msg =getMessage("start.ge.end", param);

@Autowired
private MessageSource messageSource;
/**
 * 国际化
 *
 * @param result
 * @return
 */
public String getMessage(String result, Object[] params) {
  String message = "";
  try {
    Locale locale = LocaleContextHolder.getLocale();
    message = messageSource.getMessage(result, params, locale);
  } catch (Exception e) {
    LOGGER.error("parse message error! ", e);
  }
  return message;
}

补充一个方法,适用于类中无法获取到MessageSource

/**
 * 国际化
 * 注:通过@Autowired private MessageSource messageSource无法获取
 *
 * @param result
 * @return
 */
public String getMessage(String result, Object[] params) {
  ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
  messageSource.setCacheSeconds(-1);
  messageSource.setDefaultEncoding(StandardCharsets.UTF_8.name());
  messageSource.setBasenames("/i18n/messages");

  String message = "";
  try {
    Locale locale = LocaleContextHolder.getLocale();
    message = messageSource.getMessage(result, params, locale);
  } catch (Exception e) {
    log.error("parse message error! ", e);
  }
  return message;
}

总结

到此这篇关于spring boot国际化之MessageSource使用方法的文章就介绍到这了。

您可能感兴趣的文章:

本文地址:https://www.manongw.com/article/336.html

文章来源:转载于CSDN,转载网址为https://blog.csdn.net/weixin_36833780/article/details/80311486

版权申明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 ezhongheng@126.com 举报,一经查实,本站将立刻删除。

相关文章
  • 本文主要介绍了IDEA创建Servlet并配置web.xml的实现的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-10-23 10:52
  • 本文主要介绍了Java Servlet请求重定向的方法的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-11-10 16:09
  • 本文主要介绍了史上最通俗理解的Java死锁代码演示的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-10-19 22:27
  • 本文主要介绍了Spring如何基于aop实现操作日志功能的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-11-10 10:29
  • 本文主要介绍了springboot整合dubbo设置全局唯一ID进行日志追踪的示例代码的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-10-26 18:52
  • 本文主要介绍了Java Servlet 运行原理分析的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-11-10 16:31
  • 本文主要介绍了Kafka单节点伪分布式集群搭建实现过程详解的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-11-12 12:08
  • 本文主要介绍了关于Java8中map()和flatMap()的一些事的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-10-25 16:12
  • 本文主要介绍了Spring Cloud Alibaba 之 Nacos教程详解的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-11-06 19:59
  • 本文主要介绍了基于springboot实现文件上传的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
    2020-11-09 09:24