Spring Boot2.X國際化檔案編寫配置
阿新 • • 發佈:2020-02-26
這篇文章主要介紹了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; }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。