이번 주에 회사 지도자들은 프로젝트를위한 국제 솔루션을 제시하고 2 시간 동안 공부하고 SpringMVC의 국제 지원을 사용하여 여기에 기록하기를 희망했습니다.
원리 : Dispatchservlet에 Localeresolver (Area Resolver)를 등록하고 Locale Interceptor (LocaleChangeinterceptor)를 추가하여 요청에서 매개 변수 및 로케일 환경의 변화를 감지합니다.
ResourceBundLemessagesSource 응용 프로그램 컨텍스트에서 프로그램에서 국제화 된 파일의 경로와 이름을 정의하십시오.
1. 언어 파서
SpringMVC에서는 일반적으로 사용되는 언어 파서가 있습니다
헤더 리졸버 : 클라이언트 요청 헤더 정보 센터의 수락을 구문 분석하면 사용자가 필요한 국제 언어를 얻을 수 있습니다. 참조 = AccepTheaderLocaleresolver를 참조하십시오
쿠키 리졸버 : 클라이언트의 쿠키가 지정한 로케일을 구문 분석하여 사용자가 필요한 국제 정보를 얻습니다. = CookieloCaleresolver를 참조하십시오
세션 리졸버 : 클라이언트 요청 도메인에서 루프 정보를 구문 분석하여 필요한 국제 정보를 얻고 httpsession에 저장합니다. SESSIONLOCALERESOLVER를 참조하십시오
<bean id = "localeresolver"> <property name = "defaultLocale"value = "en_us" /> < /bean>
2. 지역 인터셉터
DispatchServlet의 모니터링 영역 변경을위한 인터셉터를 등록해야합니다. 요청 매개 변수를 감지하고 요청 매개 변수에 해당하는 언어에 따라 로케일을 변경하는 데 도움이 될 수 있습니다.
<mvc : 인터셉터> <bean /> < /mvc : 인터셉터>
3. 국제 자원 할당
<bean id = "messageSource"> <property name = "defaultEncoding"value = "utf-8" /> <property name = "basename"value = "classpath*: /applicationMessage" /> <속성 이름 = "usecodeasdefaultMessage"value = "true" /> < /bean>
4. 페이지의 국제화
여기서는 JSTL의 FMT 태그를 사용하여 국제화를 달성합니다. 관심있는 학생들은 스프링 메시지 태그를 사용할 수도 있습니다.
1) 태그 라이브러리 <%@ taglib prefix = "fmt"uri = "http://java.sun.com/jsp/jstl/fmt"%를 소개하십시오
2) 국제 파일 리소스 이름 <fmt : setBundle basename = "ApplicationMessage" />를 지정하십시오
3) 국제 자원 파일의 키를 통해 파일 정보를 읽으십시오. <fmt : message key = "security.account.number" />
5. 우리가 선택한 두 번째 단계에서는 SessionResolver Parser입니다. 따라서 요청에서 URL 매개 변수 (예 : locale = zh_cn) 다음에 Locale = 특정 언어 식별자를 연결해야합니다.
참고 : 각 페이지의 URL을 연결하면 번거 롭습니다. 일반적으로 사용자는이를 원할 것입니다. 언어를 한 번 선택한 후에는 먼저이 언어를 선택합니다. 따라서 관심있는 학생들은 더 완전한 기능을 달성하기 위해 LocaleChangeinterceptor 확장을 고려할 수 있습니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.