小编给大家分享一下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国际化文件编写配置的示例分析”有了一定的了解,如果想了解更多相关知识,欢迎关注天达云行业资讯频道,感谢各位的阅读!