Question

J'utilise WebFlow et voudrais ajouter la configuration locale dans le flux. J'ai déjà une méthode resolveLocale qui fait cela avec cette signature:

public Locale resolveLocale (HttpServletRequest request);

Je voudrais ajouter quelque chose comme ça dans mon WebFlow XML:

<on-start>
<evaluate expression="localeService.resolveLocale(???)" result="flowScope.locale"/>
</on-start>

Maintenant, je ne sais pas quoi mettre dans le ??? partie paramètre.
Des idées? Merci pour la lecture.

Était-ce utile?

La solution

Je ne l'ai pas utilisé des flux Web, mais en supposant qu'il est similaire au reste du printemps, vous pouvez utiliser le RequestContextHolder pour cela. Une recherche rapide sur Google suggère que le Web flux vous donne même un flux Web RequestContextHolder spécifique - encore mieux

Autres conseils

Un moyen plus facile d'accéder à l'environnement local est LocaleContextHolder de printemps

Il suffit d'appeler: LocaleContextHolder.getLocale ()

http: // static.springsource.org/spring/docs/2.5.x/api/org/springframework/context/i18n/LocaleContextHolder.html

vous pouvez obtenir HttpServletRequest dans ce style

(HttpServletRequest)RequestContextHolder.getRequestContext().getExternalContext().getNativeRequest()

Merci pour vos conseils. J'utilise la ligne suivante dans mon service (mon SWF-config utilise le SessionLocaleResolver):

Locale locale = (Locale) RequestContextHolder.getRequestAttributes().getAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME, RequestAttributes.SCOPE_SESSION);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top