史上最佳springboot Locale 國(guó)際化方案
1、國(guó)際化資源
使用IDEA創(chuàng)建資源組




2、編寫配置
application.yml 增加國(guó)際化目錄配置

增加配置類 從請(qǐng)求頭獲取多語言關(guān)鍵字
/**
* 國(guó)際化配置
*
* @author Lion Li
*/
@Configuration
public class I18nConfig {
@Bean
public LocaleResolver localeResolver() {
return new I18nLocaleResolver();
}
/**
* 獲取請(qǐng)求頭國(guó)際化信息
*/
static class I18nLocaleResolver implements LocaleResolver {
@NotNull
@Override
public Locale resolveLocale(HttpServletRequest httpServletRequest) {
String language = httpServletRequest.getHeader("content-language");
Locale locale = Locale.getDefault();
if (StrUtil.isNotBlank(language)) {
String[] split = language.split("_");
locale = new Locale(split[0], split[1]);
}
return locale;
}
@Override
public void setLocale(@NotNull HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Locale locale) {
}
}
}
3、用法詳解
在 Header 請(qǐng)求頭 增加上下文語言參數(shù) content-language
參數(shù)需與國(guó)際化配置文件后綴對(duì)應(yīng)
如 zh_CN en_US 等

4、測(cè)試
編寫測(cè)試類
/**
* 測(cè)試國(guó)際化
*
* @author Lion Li
*/
@RestController
@RequestMapping("/demo/i18n")
public class TestI18nController {
@Autowired
private MessageSource messageSource;
/**
* 通過code獲取國(guó)際化內(nèi)容
* code為 messages.properties 中的 key
*
* 測(cè)試使用 user.register.success
*/
@GetMapping()
public String get(String code) {
return messageSource.getMessage(code, new Object[]{}, LocaleContextHolder.getLocale());
}
}
測(cè)試接口


到此這篇關(guān)于springboot Locale 國(guó)際化方案的文章就介紹到這了,更多相關(guān)springboot 國(guó)際化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot集成I18n國(guó)際化文件在jar包外生效問題
- SpringBoot的@GetMapping路徑匹配規(guī)則、國(guó)際化詳細(xì)教程
- SpringBoot實(shí)現(xiàn)前后端分離國(guó)際化的示例詳解
- Springboot+AOP實(shí)現(xiàn)返回?cái)?shù)據(jù)提示語國(guó)際化的示例代碼
- 基于springboot i18n國(guó)際化后臺(tái)多種語言設(shè)置的方式
- 如何在springboot中實(shí)現(xiàn)頁面的國(guó)際化
- SpringBoot參數(shù)校驗(yàn)與國(guó)際化使用教程
- SpringBoot實(shí)現(xiàn)國(guó)際化過程詳解
- SpringBoot 國(guó)際化適配方案使用解決方案
相關(guān)文章
java中調(diào)用GDAL DLL的實(shí)現(xiàn)方法
本篇文章是對(duì)java中調(diào)用GDAL DLL的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
SpringBoot優(yōu)先加載指定Bean的實(shí)現(xiàn)
SpringBoot框架在啟動(dòng)時(shí)可以自動(dòng)將托管的Bean實(shí)例化,一般情況下它的依賴注入特性可以正確處理Bean之間的依賴關(guān)系,無需手動(dòng)指定某個(gè) Bean優(yōu)先創(chuàng)建實(shí)例,文中有詳細(xì)的代碼示例,需要的朋友可以參考下2023-05-05
springboot+mybatis+redis 二級(jí)緩存問題實(shí)例詳解
Mybatis默認(rèn)沒有開啟二級(jí)緩存,需要在全局配置(mybatis-config.xml)中開啟二級(jí)緩存。本文講述的是使用Redis作為緩存,與springboot、mybatis進(jìn)行集成的方法。需要的朋友參考下吧2017-12-12
Elasticsearch中FST與前綴搜索應(yīng)用實(shí)戰(zhàn)解析
這篇文章主要為大家介紹了Elasticsearch中FST與前綴搜索應(yīng)用實(shí)戰(zhàn)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
Java基于LoadingCache實(shí)現(xiàn)本地緩存的示例代碼
本文主要介紹了Java基于LoadingCache實(shí)現(xiàn)本地緩存的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01

