Comment activer LocaleInterceptor pour modifier les paramètres régionaux dans le ressort de sécurité de la page de login?

Pardonnez-moi si cette question a déjà été posée, mais je n'ai pas obtenu un droit de réponse qui m'a aidé à résoudre mon problème.
J'ai une application gwt que j'ai obtenu à l'aide de ressort de sécurité. Printemps de sécurité authentifie l'utilisateur et redirige vers l'application gwt. Maintenant, je veux que l'utilisateur soit en mesure de modifier les paramètres régionaux à partir d'un lien sur la page de connexion après lesquels la locale sera stocké dans un cookie et utilisés dans l'application.

J'ai les configurations suivantes, dans mon applicationContext.xml

<http auto-config="true">
    <intercept-url pattern="/mywebapp/**" access="ROLE_USER"/>
    <intercept-url pattern="/gwt/**" access="ROLE_USER"/>
    <intercept-url pattern="/**/*.html" access="ROLE_USER"/>
    <intercept-url pattern="/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />
    <intercept-url pattern="/login.jsp*" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
    <form-login login-page="/login.jsp"/>
</http>
<beans:bean id="userDetailsService"
    class="com.kibet.mywebapp.server.auth.UserDetailsServiceImpl">
</beans:bean>

...
<!-- Application Message Bundle -->
<beans:bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
    <beans:property name="basename" value="classpath:messages" />
    <beans:property name="defaultEncoding" value="UTF-8"/>
</beans:bean>

<beans:bean id="localeChangeInterceptor"
class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
    <beans:property name="paramName" value="lang" />
</beans:bean>

<beans:bean id="localeResolver"
class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
    <beans:property name="defaultLocale" value="pt"/>
</beans:bean>

<beans:bean id="urlMapping"
     class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <beans:property name="interceptors">
    <beans:list>
        <beans:ref bean="localeChangeInterceptor"/>
    </beans:list>
    </beans:property>
    <beans:property name="mappings">
    <beans:value>/login.jsp=userDetailsService</beans:value>
    </beans:property>
</beans:bean>

Cela ne semble pas fonctionner. J'ai les paramètres régionaux des fichiers de propriétés de messages_en.propriétés, messages_es.propriétés et messages_pt.propriétés dans mon classpath. La seule fois où ça marche, c'est quand j'ai modifier les paramètres régionaux par défaut des navigateurs.
Aussi loin que je peux dire, la page de connexion est générée par le ressort-la sécurité et le mappage de gestionnaire ne peut pas intercepter les paramètres régionaux de demande de modification. Si c'est la raison pour comment pourrais-je aller à ce sujet? L'aide est très apprécié.

Voici mon filtre Personnalisé code.

public class InternationalizationFilter implements Filter {

@Override
public void destroy() {
    //TODO Auto-generated method stub

}

@Override
public void doFilter(ServletRequest request, ServletResponse response,
        FilterChain filterChain) throws IOException, ServletException {
    String newLocale = request.getParameter("lang");
    if (newLocale != null) {
        Locale locale = StringUtils.parseLocaleString(newLocale
                .toLowerCase());
        LocaleContextHolder.setLocale(locale);
    }
    try {
        filterChain.doFilter(request, response);
    } finally {

        LocaleContextHolder.resetLocaleContext();
    }
}

@Override
public void init(FilterConfig arg0) throws ServletException {

}}

OriginalL'auteur Kibet Yegon | 2011-03-09