在spring中提供了乙個介面messagesource來實現國際化。springboot中已經對國際化做了自動配置,自動配置messagesourceautoconfiguration,接下來我們看一下該類。
@bean
@configurationproperties
(prefix =
"spring.messages"
)public messagesourceproperties messagesourceproperties()
再進入messagesourceproperties這個類中
public
class
messagesourceproperties
所以我們可以通過設定basename和encoding的值來設定國際化檔案存放的位置和編碼型別。
在專案中建立國際化檔案。
我放在了根目錄的i18n資料夾下。
在配置檔案中指定basename。
spring.messages.basename=i18n.login
這樣我們就可以從國際化資源檔案中獲取資訊了。
那麼我們又是怎樣實現切換頁面的語言的呢?
在messagesourceautoconfiguration這個類中有這樣乙個方法。
@bean
@conditionalo****singbean
@conditionalonproperty
(prefix =
"spring.mvc"
, name =
"locale"
)public localeresolver localeresolver()
acceptheaderlocaleresolver localeresolver =
newacceptheaderlocaleresolver()
; localeresolver.
setdefaultlocale
(this
.mvcproperties.
getlocale()
);return localeresolver;
}
當缺少localeresolver這個 bean的時候,則從專案配置檔案中讀取spring.mvc.locale 獲取語言。所以我們可以自定義乙個類,實現localeresolver介面,來返回語言資訊。
mylocaleresolver 類
"@">中文<
/a>
"@">english<
/a>
<
/body>
<
/html>
在mylocaleresolver類中,通過request獲取請求中的引數language,來判斷用哪種語言。這樣就可以實現頁面語言的切換了。
Spring Boot國際化的實現
1.建立目錄及檔案 預設配置檔案login.properties login.username 使用者名稱 英語配置檔案login en us.properties login.username username 中文配置檔案login zh cn.properties login.username...
springboot國際化配置流程
在resource下面新增i18n資料夾,下面放置轉換的檔案字尾是有規則的,預設的messages.properties,英文 messages en us.properties,中文 messages zh cn.properties。比如 configuration public class i...
Springboot的國際化頁面
2 使用resourcebundlemessagesource管理國際化資源檔案 3 在頁面使用fmt message取出國際化內容 步驟 1 編寫國際化配置檔案,抽取頁面需要顯示的國際化訊息 外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳 img 3djsma0w 1597478698...