Printemps: Configuration des paramètres régionaux
J'ai configuré le Printemps, comme spécifié dans le guide suivant: http://www.springbyexample.org/examples/basic-webapp-internationalization-spring-config.html
Si j'étais à ajouter ?locale=fr, par exemple, à la fin d'une URL locale va changer pour les français.
Cependant, dans mon cas, je veux définir les paramètres régionaux lorsque l'utilisateur ouvre une session dans la mesure où cette information est liée à leur profil. J'ai essayé d'utiliser localeResolver.setLocale(requête, réponse, new Locale("fr")) (où localeResolver est une instance de SessionLocaleResolver) pour spécifier les paramètres régionaux cependant cela n'a aucun effet.
Une idée de ce que je fais mal? Suis-je aborder cette question dans le bon sens?
Vous devez vous connecter pour publier un commentaire.
localeResolver.setLocale fonctionne très bien pour moi, d'essayer quelque chose comme ceci:
applicationContext
my_page.jsp
\src\main\ressources\messages\messages.propriétés
\src\main\ressources\messages\messages_en.propriétés
\src\main\ressources\messages\messages_fr.propriétés
Contrôleur
Avec ce code j'obtiens le Message "en français", si je change "fr" à "fr", j'obtiens le Message "en anglais", et sans setLocale appel que je reçois le Message "(langue par défaut)". Changer StringUtils.parseLocaleString("fr") à new Locale("fr") donne les mêmes résultats.
Je recommanderais d'essayer de configurer des paramètres régionaux par défaut comme:
Quelques info utile est dans blog Configuration des paramètres régionaux de commutation avec Spring MVC 3.
Exemple:
Vous pouvez probablement prendre un coup d'oeil à Spring Roo projet. Il y a une internationalisation ajouter du Printemps, qui est utilisé dans Spring Roo qui permet d'accélérer la commutation de paramètres Régionaux à l'intérieur d'un Printemps application Web générées automatiquement à partir de Roo.
Comment déterminez-vous que les paramètres régionaux n'a pas été définie? Si vous vous attendez, les paramètres régionaux appropriés pour être présents dans les
HttpServletRequest
, ce n'est pas vrai — sa valeur est gérée par le conteneur de servlet et est donc immuable. Au lieu de cela, vous devez compter que le Printemps va injecter une bonne valeur pour un paramètre d'une méthode à la classeLocale
dans votre contrôleur. Une autre façon d'obtenir les paramètres régionaux est par l'utilisation deRequestContextUtils.getLocale(HttpServletRequest request)
directement.