如何配置Spring Boot 2.X版本下的国际化资源文件?

2026-05-28 12:481阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计484个文字,预计阅读时间需要2分钟。

如何配置Spring Boot 2.X版本下的国际化资源文件?

本文主要介绍了Spring Boot 2.X国际化文件编写配置,通过示例代码展示了非非常详细的步骤。对想要学习或工作的朋友具有一定的参考价值,需要的伙伴可以参考以下内容:国际化文件编写。

这篇文章主要介绍了Spring Boot2.X国际化文件编写配置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

国际化文件的编写

messages.properties
init project
messages_en_US.properties
init project
messages_zh_CN.properties

页面非连接配置国际化只需要:

spring.messages.basename=i18n.login

1: 1.5X版本配置的方式

链接配置

编写类 实现LocaleResover

public class LocaleSetting implements LocaleResolver { @Override public Locale resolveLocale(HttpServletRequest request) { /** * l=('en_US) 取得连接字符串 */ String lstr = request.getParameter("l"); Locale locale = Locale.getDefault(); if(!StringUtils.isEmpty(lstr)){ String[] split = lstr.split("_"); locale = new Locale(split[0],split[1]); } return locale; } @Override public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) { } }

一个Spring Boot 只需要存在一个继承 WebMvcConfigurationSupport,所以都在这个类 配置

在下面这里配置

public class AppConfig extends WebMvcConfigurationSupport /** * 配置国际化 */ @Bean public LocaleResolver initLocale(){ return new LocaleSetting(); }

2: 2.x版本的配置方式

如何配置Spring Boot 2.X版本下的国际化资源文件?

/** * 拦截器映射 */ @Override protected void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(localeChangeInterceptor()); super.addInterceptors(registry); } /** * 配置国际化 */ @Bean public LocaleResolver localeResolver() { SessionLocaleResolver slr = new SessionLocaleResolver(); // 默认使用的语言 slr.setDefaultLocale(Locale.SIMPLIFIED_CHINESE); return slr; } @Bean public LocaleChangeInterceptor localeChangeInterceptor() { LocaleChangeInterceptor lci = new LocaleChangeInterceptor(); // 参数名 用于区别使用语言类型 /** * <a class="btn btn-sm" th:href="@{index.html(l='en-US')}" rel="external nofollow" >中文</a> * <a class="btn btn-sm" th:href="@{index.html(l='zh-CN')}" rel="external nofollow" >English</a> */ lci.setParamName("l"); return lci; }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

本文共计484个文字,预计阅读时间需要2分钟。

如何配置Spring Boot 2.X版本下的国际化资源文件?

本文主要介绍了Spring Boot 2.X国际化文件编写配置,通过示例代码展示了非非常详细的步骤。对想要学习或工作的朋友具有一定的参考价值,需要的伙伴可以参考以下内容:国际化文件编写。

这篇文章主要介绍了Spring Boot2.X国际化文件编写配置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

国际化文件的编写

messages.properties
init project
messages_en_US.properties
init project
messages_zh_CN.properties

页面非连接配置国际化只需要:

spring.messages.basename=i18n.login

1: 1.5X版本配置的方式

链接配置

编写类 实现LocaleResover

public class LocaleSetting implements LocaleResolver { @Override public Locale resolveLocale(HttpServletRequest request) { /** * l=('en_US) 取得连接字符串 */ String lstr = request.getParameter("l"); Locale locale = Locale.getDefault(); if(!StringUtils.isEmpty(lstr)){ String[] split = lstr.split("_"); locale = new Locale(split[0],split[1]); } return locale; } @Override public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) { } }

一个Spring Boot 只需要存在一个继承 WebMvcConfigurationSupport,所以都在这个类 配置

在下面这里配置

public class AppConfig extends WebMvcConfigurationSupport /** * 配置国际化 */ @Bean public LocaleResolver initLocale(){ return new LocaleSetting(); }

2: 2.x版本的配置方式

如何配置Spring Boot 2.X版本下的国际化资源文件?

/** * 拦截器映射 */ @Override protected void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(localeChangeInterceptor()); super.addInterceptors(registry); } /** * 配置国际化 */ @Bean public LocaleResolver localeResolver() { SessionLocaleResolver slr = new SessionLocaleResolver(); // 默认使用的语言 slr.setDefaultLocale(Locale.SIMPLIFIED_CHINESE); return slr; } @Bean public LocaleChangeInterceptor localeChangeInterceptor() { LocaleChangeInterceptor lci = new LocaleChangeInterceptor(); // 参数名 用于区别使用语言类型 /** * <a class="btn btn-sm" th:href="@{index.html(l='en-US')}" rel="external nofollow" >中文</a> * <a class="btn btn-sm" th:href="@{index.html(l='zh-CN')}" rel="external nofollow" >English</a> */ lci.setParamName("l"); return lci; }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。