這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)怎么在springboot中通過LocaleResolver實(shí)現(xiàn)語言切換,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元善右做網(wǎng)站,已為上家服務(wù),為善右各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575
1、在pom中引入thymeleaf模板引擎
//引入thymeleaforg.springframework.boot spring-boot-starter-thymeleaf
我這里是以登錄界面為例
2、在resources下面創(chuàng)建一個(gè)i18n的文件夾,然后創(chuàng)建一個(gè)login.properties
login.propertie:默認(rèn)顯示的語言 login.button=登陸 login.password=密碼 login.remember=記住我 login.tip=請登陸 login.username=用戶名 login_en_US.properties:美國(英語) login.button=Sign In login.password=PassWord login.remember=Remember Me login.tip=Please sign in login.username=UserName login_zh_CN.properties:中文 login.button=登陸 login.password=密碼 login.remember=記住我 login.tip=請登陸 login.username=用戶名
3、在登錄頁面通過thymeleaf標(biāo)簽引入國際化
注意:input標(biāo)簽需要用[[]]來進(jìn)行取值
4、運(yùn)行項(xiàng)目,將瀏覽器語言設(shè)置為英語(美國)或者中文,我們的頁面就會切換語言。
但是這里必須要手動設(shè)置瀏覽器語言才可以實(shí)現(xiàn)中英文切換,最終的效果是點(diǎn)擊頁面上中文和English來進(jìn)行切換語言,下面來實(shí)現(xiàn)這個(gè)功能:
1、SpringBoot為我們自動配置了LocaleResolver
組件,實(shí)現(xiàn)國際化我們需要自定義LocaleResolver
才能起作用,代碼如下:
@Configuration public class MyLocaleResolver implements LocaleResolver { @Override public Locale resolveLocale(HttpServletRequest httpServletRequest) { String l = httpServletRequest.getParameter("l"); if (StringUtils.isEmpty(l)){ Locale locale = Locale.getDefault(); return locale; }else { String[] split = l.split("_"); return new Locale(split[0],split[1]); } }
2、再將自定義LocaleResolver注入到spring容器中:
@Bean public LocaleResolver localeResolver(){ return new MyLocaleResolver(); }
3、在頁面上使用Thymeleaf模板引擎,對中英文切換的a標(biāo)簽的href屬性覆蓋:
中文 English
上述就是小編為大家分享的怎么在springboot中通過LocaleResolver實(shí)現(xiàn)語言切換了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。