Skip to content

Instantly share code, notes, and snippets.

@A-pZ
Created October 21, 2020 13:00
Show Gist options
  • Save A-pZ/ee4078af2b47fadf43c5666a6d9281e3 to your computer and use it in GitHub Desktop.
Save A-pZ/ee4078af2b47fadf43c5666a6d9281e3 to your computer and use it in GitHub Desktop.
こうした上で、クエリ文字列に language=言語(JP)などを入れないと、クッキーに出力されない。
import javax.servlet.ServletContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.context.ServletContextAware;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.i18n.CookieLocaleResolver;
import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
@Configuration
public class WebConfig implements ServletContextAware, WebMvcConfigurer {
ServletContext context;
@Bean
public LocaleResolver localeResolver() {
CookieLocaleResolver resolver = new CookieLocaleResolver();
resolver.setCookiePath(context.getContextPath());
resolver.setDefaultLocale(Locale.JAPAN);
resolver.setCookieName("sampleLocaleResolveCookie");
return resolver;
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(localeChangeInterceptor());
}
@Bean
public LocaleChangeInterceptor localeChangeInterceptor() {
LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();
localeChangeInterceptor.setParamName("language");
return localeChangeInterceptor;
}
@Override
public void setServletContext(ServletContext servletContext) {
this.context = servletContext;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment