温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Spring Boot2.X国际化文件编写配置的示例分析

发布时间:2021-08-07 13:52:56 来源:亿速云 阅读:115 作者:小新 栏目:编程语言

小编给大家分享一下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;
  }

看完了这篇文章,相信你对“Spring Boot2.X国际化文件编写配置的示例分析”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI