怎么在springboot中通過(guò)LocaleResolver實(shí)現(xiàn)語(yǔ)言切換

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)怎么在springboot中通過(guò)LocaleResolver實(shí)現(xiàn)語(yǔ)言切換,文章內(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è)夢(mèng)想脫穎而出為使命,1280元善右做網(wǎng)站,已為上家服務(wù),為善右各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575

1、在pom中引入thymeleaf模板引擎

//引入thymeleaf
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

我這里是以登錄界面為例

怎么在springboot中通過(guò)LocaleResolver實(shí)現(xiàn)語(yǔ)言切換

2、在resources下面創(chuàng)建一個(gè)i18n的文件夾,然后創(chuàng)建一個(gè)login.properties

怎么在springboot中通過(guò)LocaleResolver實(shí)現(xiàn)語(yǔ)言切換

login.propertie:默認(rèn)顯示的語(yǔ)言
login.button=登陸
login.password=密碼
login.remember=記住我
login.tip=請(qǐng)登陸
login.username=用戶名
login_en_US.properties:美國(guó)(英語(yǔ))
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=請(qǐng)登陸
login.username=用戶名

3、在登錄頁(yè)面通過(guò)thymeleaf標(biāo)簽引入國(guó)際化

怎么在springboot中通過(guò)LocaleResolver實(shí)現(xiàn)語(yǔ)言切換

注意:input標(biāo)簽需要用[[]]來(lái)進(jìn)行取值

4、運(yùn)行項(xiàng)目,將瀏覽器語(yǔ)言設(shè)置為英語(yǔ)(美國(guó))或者中文,我們的頁(yè)面就會(huì)切換語(yǔ)言。

怎么在springboot中通過(guò)LocaleResolver實(shí)現(xiàn)語(yǔ)言切換

怎么在springboot中通過(guò)LocaleResolver實(shí)現(xiàn)語(yǔ)言切換

但是這里必須要手動(dòng)設(shè)置瀏覽器語(yǔ)言才可以實(shí)現(xiàn)中英文切換,最終的效果是點(diǎn)擊頁(yè)面上中文和English來(lái)進(jìn)行切換語(yǔ)言,下面來(lái)實(shí)現(xiàn)這個(gè)功能:

1、SpringBoot為我們自動(dòng)配置了LocaleResolver組件,實(shí)現(xiàn)國(guó)際化我們需要自定義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、在頁(yè)面上使用Thymeleaf模板引擎,對(duì)中英文切換的a標(biāo)簽的href屬性覆蓋:

<a class="btn btn-sm" th:href="@{/login(l='zh_CN')}" rel="external nofollow" >中文</a>
<a class="btn btn-sm"th:href="@{/login(l='en_US')}" rel="external nofollow" >
 English</a>

上述就是小編為大家分享的怎么在springboot中通過(guò)LocaleResolver實(shí)現(xiàn)語(yǔ)言切換了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享題目:怎么在springboot中通過(guò)LocaleResolver實(shí)現(xiàn)語(yǔ)言切換
本文URL:http://www.muchs.cn/article18/pieigp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、營(yíng)銷型網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、全網(wǎng)營(yíng)銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司