Esta semana, los líderes de la compañía esperaban que produjera una solución internacional para un proyecto, estudie durante dos horas y utilizara el apoyo internacional de SpringMVC y lo registrara aquí.
Principio: Registre localización local (resolución de área) en DispatchServlet y agregue Interceptor local (LocalEnchangeInterceptor) para detectar cambios en los parámetros y el entorno local en la solicitud.
Registre ResourceBundLemesSageSource en el contexto de la aplicación, definiendo la ruta y el nombre del archivo internacionalizado en el programa.
1. Language analizador
En SpringMVC, los analizadores de idiomas de uso común son
Resolvente del encabezado: al analizar el idioma de aceptación del Centro de información del encabezado de solicitud del cliente, podemos obtener el idioma internacional que necesita el usuario. Ver = acceptheaderLocaleresolver
Resolvente de cookies: obtiene la información internacional que necesita el usuario analizando la ubicación especificada por la cookie en el cliente. Ver = Cookielocaleresolver
Resolución de la sesión: mediante la analización de la información del bucle en el dominio de solicitud del cliente, obtiene la información internacional requerida y la almacena en httpsession. Ver = sessionLocaleresolver
<bean id = "localeresolver"> <propiedad name = "DefaultLocale" value = "en_us" /> < /bean>
2. Interceptor de área
Necesitamos registrar un interceptor para los cambios en el área de monitoreo en DispatchServlet. Puede ayudarnos a detectar los parámetros de solicitud y cambiar la configuración regional de acuerdo con el idioma correspondiente a los parámetros de solicitud.
<mvc: interceptores> <bean /> < /mvc: interceptores>
3. Asignación de recursos internacionales
<bean id = "Messagesource"> <Property name = "DefaultEncoding" value = "utf-8" /> <propiedad name = "Basename" value = "classpath*: /applicationMessage" /> <Property name = "useCodeasdefaultMessage" value = "true" /> < /bean>
4. Internacionalización de la página
Aquí, uso la etiqueta FMT de JSTL para lograr la internacionalización. Los estudiantes interesados también pueden usar la etiqueta de mensaje de primavera.
1) Introduzca la biblioteca de etiquetas <%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt"%>
2) Especifique el nombre del recurso de archivo internacional <fmt: setBundle basename = "ApplicationMessage" />
3) Lea la información del archivo a través de la clave del archivo de recursos internacionales. <fmt: mensaje clave = "seguridad.account.number" />
5. En el segundo paso que elegimos es el analizador sessionResolver. Entonces, en la solicitud, necesitamos empalmar locales = identificador de lenguaje específico después del parámetro de URL (por ejemplo: locale = zh_cn).
NOTA: Si empalme la URL en cada página, será problemático. Por lo general, los usuarios querrán hacerlo. Después de elegir el idioma una vez, elegirán este idioma primero. Por lo tanto, los estudiantes interesados pueden considerar expandir localChangeInterceptor para lograr funciones más completas.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.