國(guó)際化

簡(jiǎn)介

在之前項(xiàng)目的基礎(chǔ)上實(shí)現(xiàn)登陸界面的國(guó)際化
Tip:國(guó)際化:所謂國(guó)際化就是可以讓用戶選擇不同的語(yǔ)言顯示

步驟

  1. 創(chuàng)建一個(gè)自己的LocaleResolver類怜俐,程序中命名為MyLocaleResolver刑赶,在該類重寫resolveLocale方法推正,該方法用于接受前端HTML中鏈接的參數(shù)朴摊,從而進(jìn)行邏輯判斷媚狰,返回一個(gè)Locale類的對(duì)象沪摄,該對(duì)象決定了將要顯示的語(yǔ)言溪胶。
    補(bǔ)充英文翻譯:
  • locale:語(yǔ)言環(huán)境
  • resolver:解析器

代碼:

public class MyLocaleResolver implements LocaleResolver
{
    @Override
    public Locale resolveLocale(HttpServletRequest request)
    {
        String lang = request.getParameter("lang");

        Locale locale = Locale.getDefault();

        if(!StringUtils.isEmpty(lang))
        {
            String[] split = lang.split("_");
            locale = new Locale(split[0], split[1]);
        }

        return locale;
    }

    @Override
    public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale)
    {
    }
}
  1. 新建一個(gè)MyMVCConfig類搂擦,該類繼承于WebMvcConfigurer,使用@Configuration注解表示這個(gè)類是用于配置SpringBoot的哗脖,在其中重寫方法addViewControllers瀑踢,直接控制視圖解析器,對(duì)主頁(yè)而言相較于使用Controller才避,該方法更佳橱夭。實(shí)現(xiàn)localeResolver方法,該方法用@Bean進(jìn)行注解桑逝,那么這個(gè)對(duì)象就會(huì)交由Spring進(jìn)行管理棘劣,這樣自定義的國(guó)際化組件才能生效。

    代碼:

    @Configuration
    public class MyMVCConfig implements WebMvcConfigurer
    {
        @Override
        public void addViewControllers(ViewControllerRegistry registry)
        {
            registry.addViewController("/").setViewName("index");
            registry.addViewController("/index.html").setViewName("index");
        }
    
        @Bean
        public LocaleResolver localeResolver()
        {
            return new MyLocaleResolver();
        }
    }
    
  1. 運(yùn)行查看結(jié)果

    • 默認(rèn)情況下使用瀏覽器中使用的默認(rèn)語(yǔ)言楞遏,例如中文
image.png
  • 點(diǎn)擊“English”鏈接茬暇,顯示英文界面
image.png
  • 點(diǎn)擊“中文”鏈接,再次返回中文界面寡喝,與默認(rèn)界面相同

至此國(guó)際化完成糙俗。

補(bǔ)充知識(shí)

  1. @Bean注解

    Spring的@Bean注解用于告訴方法,產(chǎn)生一個(gè)Bean對(duì)象预鬓,然后這個(gè)Bean對(duì)象交給Spring管理巧骚。產(chǎn)生這個(gè)Bean對(duì)象的方法Spring只會(huì)調(diào)用一次,隨后這個(gè)Spring將會(huì)將這個(gè)Bean對(duì)象放在自己的IOC容器中。

    SpringIOC 容器管理一個(gè)或者多個(gè)bean劈彪,這些bean都需要在@Configuration注解下進(jìn)行創(chuàng)建竣蹦,在一個(gè)方法上使用@Bean注解就表明這個(gè)方法需要交給Spring進(jìn)行管理。

    相關(guān)鏈接

  2. @Configuration注解

    從Spring3.0沧奴,@Configuration用于定義配置類草添,可替換xml配置文件,被注解的類內(nèi)部包含有一個(gè)或多個(gè)被@Bean注解的方法扼仲,這些方法將會(huì)被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext類進(jìn)行掃描远寸,并用于構(gòu)建bean定義,初始化Spring容器屠凶。
    參考鏈接
    簡(jiǎn)而言之:指示一個(gè)類聲明一個(gè)或多個(gè)@Bean方法驰后,并且可以由Spring容器處理,以便在運(yùn)行時(shí)為這些bean生成BeanDefinition和服務(wù)請(qǐng)求

    參考鏈接

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末矗愧,一起剝皮案震驚了整個(gè)濱河市灶芝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌唉韭,老刑警劉巖夜涕,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異属愤,居然都是意外死亡女器,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門住诸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)驾胆,“玉大人,你說(shuō)我怎么就攤上這事贱呐∩ヅ担” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵奄薇,是天一觀的道長(zhǎng)驳阎。 經(jīng)常有香客問(wèn)我,道長(zhǎng)馁蒂,這世上最難降的妖魔是什么呵晚? 我笑而不...
    開封第一講書人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮远搪,結(jié)果婚禮上劣纲,老公的妹妹穿的比我還像新娘。我一直安慰自己谁鳍,他們只是感情好癞季,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開白布劫瞳。 她就那樣靜靜地躺著,像睡著了一般绷柒。 火紅的嫁衣襯著肌膚如雪志于。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,185評(píng)論 1 284
  • 那天废睦,我揣著相機(jī)與錄音伺绽,去河邊找鬼。 笑死嗜湃,一個(gè)胖子當(dāng)著我的面吹牛奈应,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播购披,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼杖挣,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了刚陡?” 一聲冷哼從身側(cè)響起惩妇,我...
    開封第一講書人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎筐乳,沒(méi)想到半個(gè)月后歌殃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蝙云,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年氓皱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贮懈。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡匀泊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出朵你,到底是詐尸還是另有隱情,我是刑警寧澤揣非,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布抡医,位于F島的核電站,受9級(jí)特大地震影響早敬,放射性物質(zhì)發(fā)生泄漏忌傻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一搞监、第九天 我趴在偏房一處隱蔽的房頂上張望水孩。 院中可真熱鬧,春花似錦琐驴、人聲如沸俘种。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)宙刘。三九已至苍姜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間悬包,已是汗流浹背衙猪。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留布近,地道東北人垫释。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像撑瞧,于是被迫代替她去往敵國(guó)和親饶号。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344