Pregunta

Estoy utilizando WebFlow y me gustaría añadir la actual configuración regional en el flujo. Ya tengo un método resolveLocale que hace esto con esta firma:

public Locale resolveLocale (HttpServletRequest request);

Me gustaría añadir algo como esto en mi XML WebFlow:

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

Ahora, no sé qué poner en el ??? parte de parámetros.
¿Algunas ideas? Gracias por leer.

¿Fue útil?

Solución

No he utilizado Web Flow, pero suponiendo que es similar al del resto de la primavera, se puede utilizar el RequestContextHolder para esto. Una rápida búsqueda en Google sugiere que el flujo de web incluso le da un web específica flujo RequestContextHolder - aún mejor

Otros consejos

Una forma más fácil para acceder a la configuración regional es LocaleContextHolder de la primavera

Sólo tiene que llamar: LocaleContextHolder.getLocale ()

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

Usted puede obtener HttpServletRequest en este estilo

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

Gracias por sus consejos. Estoy usando la siguiente línea en mi servicio (mi SWF-config utiliza el SessionLocaleResolver):

Locale locale = (Locale) RequestContextHolder.getRequestAttributes().getAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME, RequestAttributes.SCOPE_SESSION);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top