봄 부팅 2.X 국제

 쓰기 국제 문서

 

국제 비 연결 구성 페이지는 필요합니다

 spring.messages.basename = i18n.login

 

1 : 긴 다이 오늘 FOUND의 구성 방법 1.5 배 버전

  링크 구성

  클래스가 구현을 작성 LocaleResover

공공  클래스 LocaleSetting의 구현 LocaleResolver의 {

    @보수

    공공 로케일 resolveLocale (HttpServletRequest의 요청) {

        / **

         연결 문자열을 획득하기 위해 L * = ( 'ko 페이지)

         * /

        문자열 LSTR = request.getParameter ( "L" );

        로컬 지역 = 경우, Locale.getDefault ();

        만약 (! StringUtils.isEmpty (LSTR)) {

            문자열 [] 스플릿 = lstr.split ( "_" );

            로케일 = 새로운 로케일 (분할 [0], 분할 [1 ]);

        }

        반환 로케일을;

    }

    @보수

    공용  무효 로 setLocale (HttpServletRequest의 요청에 응답하고 HttpServletResponse 로케일 로케일) {}

}

 

 

봄 부팅 승계 WebMvcConfigurationSupport의 존재를 필요하므로이 클래스에서 구성됩니다

여기에 다음과 같은 구성에서 #

공공  클래스 appconfig가이 확장 WebMvcConfigurationSupport

/ **

 * 구성 국제화

 * /

@콩

공공 LocaleResolver의 initLocale () {

    반환  ) (LocaleSetting을;

}

2 : 구성의 2.X 버전

/ **
     * 인터셉터지도
     * /
    @보수
    보호  무효 addInterceptors (InterceptorRegistry 레지스트리) {
        registry.addInterceptor (localeChangeInterceptor ());
        슈퍼 .addInterceptors (레지스트리);
    }
    / **
     * 구성 국제화
     * /
    @콩
    공공 LocaleResolver의 LocaleResolver의 () {
        SLR SessionLocaleResolver는 = 새로운 새로운 SessionLocaleResolver을 ();
         // 기본 언어 사용 
        , slr.setDefaultLocale (Locale.SIMPLIFIED_CHINESE)
         반환 SLR을;
    }

    @콩
    공공 LocaleChangeInterceptor localeChangeInterceptor () {
        협회는 LocaleChangeInterceptor는 = 새로운 새로운 하며 LocaleChangeInterceptor을 ()
         // 매개 변수 이름은 언어의 종류를 구분하는 데 사용 
        / **
         * <a class="btn btn-sm" th:href="@{index.html(l='en-US')}"> 中文 </a>를
         * <a class="btn btn-sm" th:href="@{index.html(l='zh-CN')}"> 영어 </a>를
         * / 
        lci.setParamName ( "L" );
        돌아 협회를;
    }

 

 

 

추천

출처www.cnblogs.com/dgwblog/p/11963492.html