1. 程式人生 > >springboot2.0 實現WebMvcConfigurer完成主題與多語言監聽器

springboot2.0 實現WebMvcConfigurer完成主題與多語言監聽器

@Configuration
@EnableCaching
public class CommonConfig implements WebMvcConfigurer {
    //theme
    /**
     * ResourceBundleThemeSource
     * @return themeSource
     */
    @Bean
    public ThemeSource themeSource() {
        ResourceBundleThemeSource themeSource = new ResourceBundleThemeSource();
        themeSource.setBasenamePrefix("themes.style_");
        return themeSource;
    }
    /**
     * SessionThemeResolver
     * @return themeResolver
     */
    @Bean
    public SessionThemeResolver sessionThemeResolver() {
        SessionThemeResolver themeResolver = new SessionThemeResolver();
        themeResolver.setDefaultThemeName("default");
        return themeResolver;
    }
    /**
     * CookieThemeResolver
     * @return resolver
     */
    @Bean
    public CookieThemeResolver themeResolver(){
        CookieThemeResolver resolver = new CookieThemeResolver();
        resolver.setCookieMaxAge(31536000);
        resolver.setDefaultThemeName("default");
        return resolver;
    }
    /**
     * ThemeChangeInterceptor
     * @return ThemeChangeInterceptor
     */
    @Bean
    public ThemeChangeInterceptor themeChangeInterceptor(){
        return new ThemeChangeInterceptor();
    }

    //message
    /**
     * MessageSource
     * @return MessageSource
     */
    @Bean
    public MessageSource messageSource() {
        System.out.println("CacheConfiguration.messageSource()");
        ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
        //must be this style
        messageSource.setBasename("classpath:language/Language");
        return messageSource;
    }
    /**
     * SessionLocaleResolver
     * @return SessionLocaleResolver
     */
    @Bean(name="localeResolver")
    public SessionLocaleResolver sessionLocaleResolver() {
        System.out.println("CacheConfiguration.sessionLocaleResolver()");
        return new SessionLocaleResolver();
    }
    /**
     * LocaleChangeInterceptor
     * @return LocaleChangeInterceptor
     */
    @Bean
    public LocaleChangeInterceptor localeChangeInterceptor(){
        System.out.println("LocaleChangeInterceptor");
        LocaleChangeInterceptor lci = new LocaleChangeInterceptor();
        lci.setParamName("lang");
        return lci;
    }
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(themeChangeInterceptor());
        registry.addInterceptor(localeChangeInterceptor());
    }
}

相關推薦

springboot2.0 實現WebMvcConfigurer完成主題語言監聽器

@Configuration @EnableCaching public class CommonConfig implements WebMvcConfigurer { //theme /** * ResourceBundleThemeSource

SpringData JPA實現CRUD,分頁參數排序

method clas asc spring from pda des home 參數   Spring Data 項目的目的是為了簡化構建基於 Spring 框架應用的數據訪問計數,包括非關系數據庫、Map-Reduce 框架、雲數據服務等等,SpringData JPA

SpringBoot2.0中使用訂閱redis的個頻道的消息

HA BE ger redist temp 參考 AS one mave 聲明:參考文章:https://blog.csdn.net/myNameIssls/article/details/75471012?locationNum=2&fps=1 一·使用maven

SpringBoot2.0文章彙總目錄,java執行緒教程文章彙總 長期更新系列

SpringBoot教程系列 【SpringBoot系列01】初識SpringBoot 【SpringBoot系列02】SpringBoot之使用Thymeleaf檢視模板 【SpringBoot系列03】SpringBoot之使用freemark檢視模板 【Spring

Springboot2.0實現URL攔截

get 進行 figure ppi tar tro bind mod pat 1、創建一個登陸攔截器SecurityInterceptor,它繼承HandlerInterceptorAdapter類 package com.cn.commodity.config; im

基於非阻塞socket的執行緒伺服器的實現------一個伺服器如何個客戶端進行通訊?

      我們首先來看服務端(涉及非阻塞socket和多執行緒): #include <stdio.h> #include <winsock2.h> #include <windows.h> #pragma comment(li

springboot2.0 實現熱部署

在pom新增依賴<!-- spring boot 實現熱部署 --> <dependency> <groupId>org.sp

SpringBoot2.0實現自定義404頁面渲染

注意: 1、404.html一定要建在template/static下面,否則無效。 2、new ErrorPage可以重定向具體的html也可以重定向請求地址,如/404,那就需要新增/404的C

Java實現UDP服務端客戶端連線

學習的課程,程式比較簡單,直接上程式碼。UDPServerpackage com.imooc; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocke

表單驗證,語言支持,CI

加載 load for 控制器 cati 驗證 pan conf span 表單驗證將漢化包,復制到application文件夾下的language,然後在config.php中,將語音改為simplified-chinese,和漢化包文件夾的名字一致。 對於隨漢化包帶來

thinkphp 2.0實現從cookie讀取配置設定語言

需求: 根據網站的cookie中的lang設定的語言進行全站的多語言顯示 分析: 因為tp裡面多語言是通過url新增引數l=zh-cn這種形式進行判斷的,本來想著在入口檔案中追加引數到url後面,

談談surging 語言混合微服務構思

1、前言 微服務架構已成為目前網際網路架構的趨勢,關於微服務的討論,幾乎是各大技術論壇、技術大會的熱門話題。而Surging是高效能的模組化微服務引擎,是大家首選微服務引擎架構之一,而針對於框架有個突出的缺點就是隻能支援基於.NET CORE開發,而現如今各大公司開發語言是多樣的,每個業務線有各自開發的語言,

Mysql 8.0--MGR主--Proxysql實現讀寫分離負載均衡

proxysql 作為 PXC 叢集的代理實現讀寫分離 參考資料:http://blog.itpub.net/21582653/viewspace-2141126/ 對了,有個問題提前請教一下大家,為什麼我的Proxysql代理只能在本機登入不能在其他機器上使用IP登入啊?

accp8.0轉換教材第1章線程理解練習

獲取 stack 創建 exc 同步方法 emp 默認 一個 ack 一.單詞部分: ①process進程 ②current當前的③thread線程④runnable可獲取的 ⑤interrupt中斷⑥join加入⑦yield產生⑧synchronize同時發生 二.預習部

JSPServlet之後臺頁面單條刪除條刪除的頁面跳轉之實現

.get func rac web nbsp pre resp har 做的 單條刪除頁面跳轉 1、首先打開JSP頁面,找到刪除 2、這個時候要把它改成servlet的URL,並決定要傳給後臺什麽數據,例如我需要傳一個待刪數據的ID id並不是什麽見不得

C#使用Socket實現一個socket服務器個socket客戶端通信

當前 rec inf hide 負責 new 數據庫 class 多臺   在分布式調度系統中,如果要實現調度服務器與多臺計算節點服務器之間通信,采用socket來實現是一種實現方式,當然我們也可以通過數據存儲任務,子節點來完成任務,但是往往使用數據作為任務存儲都需要定制開

(轉)ViewDragHelper實現QQ5.0側滑並處理ViewPager的滑動沖突

ogl 指定 dem ont 狀態 恢復 ole sed contex 最近在做項目,涉及到類似QQ的頁面的滑動。但是卻遇到了側滑和ViewPager沖突的問題,頭疼了很長時間,最後在網上發現了這篇博客,轉載過來供自己學習參考(寫這篇博客的原創作者,因為我發現這篇博客的地方

06-繼承態 課程作業01 完成課件中的動手動腦的或需要驗證的相關內容

xtend 完成 訪問 自己 false 運行 color com obj 一、怎樣判斷對象是否可以轉換?   可以使用instanceof判斷一個對象是否可以轉換為目標類型: 1 public class TestInstanceof 2 { 3 p

實現--虛函數純虛函數

裏的 對象 ios 動物類 編譯 out 問題 為我 virtual 多態實現--虛函數與純虛函數 C++中實現多態是使用虛函數表的方法實現的。 那麽具體怎麽實現的呢? 舉例說明 假設有這樣一個多態場景: 有一個基類動物(animal類),動物裏面又有兩個派生類:貓(

SpringBoot2.0(二) 配置文件環境

resources boot 配置參數 參數 其中 文件名 java 指定 adl 在SpringBoot中,多環節的配置文件名基於application-{profile}.properties的格式,其中{profile}對應環境標識,比如: application-