软件编程
位置:首页>> 软件编程>> java编程>> Spring Boot2.X国际化文件编写配置

Spring Boot2.X国际化文件编写配置

作者:---WeiGeH  发布时间:2023-02-24 11:34:24 

标签:Spring,Boot,国际,化

这篇文章主要介绍了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版本的配置方式


/**
  * * 映射
  */
 @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;
 }

来源:https://www.cnblogs.com/dgwblog/p/11963492.html

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com