Pergunta

Estou usando o Webflow e gostaria de adicionar o local atual ao fluxo. Eu já tenho um método de resolução que faz isso com esta assinatura:

public Locale resolveLocale (HttpServletRequest request);

Eu gostaria de adicionar algo assim no meu webflow xml:

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

Agora, não sei o que colocar no ??? Parte do parâmetro.
Alguma ideia? Obrigado pela leitura.

Foi útil?

Solução

Não usei o fluxo da web, mas presumindo que seja semelhante ao restante da primavera, você pode usar o requestContextholder para isso. Uma rápida pesquisa no Google sugere que o fluxo da web até lhe dá um Web Flow Specific RequestContextholder - melhor ainda

Outras dicas

Uma maneira mais fácil de acessar a localidade é a Spring LocalEContextholder

Basta ligar: localEContextholder.getLocale ()

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

Você pode obter httpServletRequest neste estilo

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

Obrigado por suas dicas. Estou usando a seguinte linha no meu serviço (meu SWF-Config usa o SessionLocaleResolver):

Locale locale = (Locale) RequestContextHolder.getRequestAttributes().getAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME, RequestAttributes.SCOPE_SESSION);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top