Frage

Ich bin mit WebFlow und möchte die aktuellen Locale in den Strom hinzuzufügen. Ich habe bereits eine resolveLocale Methode, die dies mit dieser Unterschrift tut:

public Locale resolveLocale (HttpServletRequest request);

Ich möchte etwas wie dies in meinem WebFlow XML hinzuzufügen:

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

Nun, ich weiß nicht, was in der setzen ??? Parameterteil.
Irgendwelche Ideen? Vielen Dank für das Lesen.

War es hilfreich?

Lösung

Ich habe nicht Web Flow verwendet, aber es ist ähnlich wie der Rest des Frühlings vorausgesetzt, können Sie die RequestContextHolder für diese. Eine schnelle Google-Suche zeigt, dass Web Flow gibt Ihnen noch eine Web-Flow spezifische RequestContextHolder - noch besser

Andere Tipps

Ein einfacher Weg, um Zugriff auf das locale ist LocaleContextHolder Frühling

Just call: LocaleContextHolder.getLocale ()

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

Sie können get HttpServletRequest in diesem Stil

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

Vielen Dank für Ihre Hinweise. Ich verwende die folgende Zeile in meinem Dienst (meine SWF-config verwendet die SessionLocaleResolver):

Locale locale = (Locale) RequestContextHolder.getRequestAttributes().getAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME, RequestAttributes.SCOPE_SESSION);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top