Spring MVC 3 Locale changeant en utilisant un lien ne fonctionne pas
Edit: Mon Spring framework version 3.0.5
Un petit problème ici, La langue ne change pas lorsque je clique sur la langue changeur de lien.
Les fichiers de langue (messages_xx.les propriétés) sont dans le classpath répertoire i18n. Les fichiers sont:
i18n/messages_en.properties
i18n/messages_ar.properties
Configuration Spring
<!-- Component scanner. This is used to automatically find Spring annotations like @Service and @Repository -->
<context:component-scan base-package="com.keype" />
<!-- Annotation driven programming model -->
<mvc:annotation-driven />
<context:annotation-config />
<mvc:resources mapping="/static/**" location="/static/" />
<!-- Session Object Configuration -->
<bean id="session" class="com.keype.system.Session" scope="session">
<aop:scoped-proxy />
</bean>
<!-- The View Resolver -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/jsp/"
p:suffix=".jsp"
/>
<!-- i18n Configuration. Default language is english. Change language using ?language=en -->
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="lang" />
</bean>
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
<property name="defaultLocale" value="en" />
</bean>
<!-- Message text files. This is set UTF-8 to display Arabic UTF correctly. -->
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="classpath:i18n/messages" />
<property name="defaultEncoding" value="UTF-8"/>
</bean>
Une section du Code JSP
<a href="?lang=ar"><spring:message code="header.arabic" /></a> |
<a href="?lang=en"><spring:message code="header.english" /></a>
Le problème est que quand je clique sur le lien ci-dessus pour changer la langue, les paramètres régionaux de changer la fonctionnalité ne fonctionne pas. J'ai testé en changeant la "defaultLocate" à "ar" et je suis de texte arabe.
Ce que pourrait être le problème ici? Il n'y a rien dans les logs du serveur tomcat.
source d'informationauteur Firdous Amir
Vous devez vous connecter pour publier un commentaire.
Vous devez vous inscrire à la localeChangeInterceptor parmi les MVC intercepteurs pour Spring-MVC pour l'examiner. Ajouter de l'intercepteur de configuration:
Une autre chose qui peut aider les autres:
Dans mon cas, je dois ajouter que dans le applicationContext.xml. Mettre dans le ressort de la servlet (réf. répartiteur), n'a pas travaillé du tout.
Vous devez vous inscrire à la LocaleChangeInterceptor à l'intérieur de la mvc intercepteurs de la balise ci-dessous,
E. g.
J'avais la même erreur et il a travaillé à l'aide de ce code 🙂