francadaval
francadaval

Reputation: 2481

How can I change Spring locale cookie name?

The cookie for spring MVC locale is named by default as org.springframework.web.servlet.i18n.CookieLocaleResolver.LOCALE.

How can I set this name to another one?

Upvotes: 1

Views: 5995

Answers (3)

SnakeDoc
SnakeDoc

Reputation: 14371

The Java config way:

@Bean
public LocaleResolver localeResolver() {
    final CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver();
    cookieLocaleResolver.setDefaultLocale(Locale.ENGLISH);
    cookieLocaleResolver.setCookieName("YOUR_LOCALE_COOKIE_NAME");
    return cookieLocaleResolver;
}

Upvotes: 4

francadaval
francadaval

Reputation: 2481

The cookie name can be set in the configuration of the localeResolver, used to store locale changes in session cookies:

<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
    <property name="defaultLocale" value="en"></property>
    <property name="cookieName" value="YOUR_LOCALE_COOKIE_NAME"/>
</bean>

Thanks to dimitrisli for the link to documentation.

Upvotes: 3

dimitrisli
dimitrisli

Reputation: 21401

Using Java config:

@Bean
public HandlerInterceptor localChangeInterceptor(){
    LocaleChangeInterceptor localeInterceptor = new LocaleChangeInterceptor();
    localeInterceptor.setParamName("lang");
    return localeInterceptor;
}

Using XML config:

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

Documentation

Upvotes: 2

Related Questions