Created
October 22, 2020 04:42
-
-
Save Winged-Git/bf28efb77b55d45eb2d18bd90c13771c to your computer and use it in GitHub Desktop.
外部Jar化したコードの一部。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import org.springframework.context.annotation.Configuration; | |
import org.springframework.web.servlet.config.annotation.InterceptorRegistry; | |
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; | |
import org.springframework.web.servlet.i18n.LocaleChangeInterceptor; | |
import lombok.RequiredArgsConstructor; | |
@RequiredArgsConstructor | |
@Configuration | |
public class BaseApplicationConfig implements WebMvcConfigurer { | |
private final LocaleChangeInterceptor localeChangeInterceptor; | |
@Override | |
public void addInterceptors(InterceptorRegistry registry) { | |
registry.addInterceptor(localeChangeInterceptor) | |
.addPathPatterns("/**") | |
.excludePathPatterns("/static/**"); | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.Locale; | |
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.i18n.CookieLocaleResolver; | |
import org.springframework.web.servlet.i18n.LocaleChangeInterceptor; | |
import lombok.Setter; | |
@Configuration | |
public class BaseBeanConfig implements ServletContextAware { | |
/* ロケールのリクエストパラメータをlangにしたい */ | |
@Bean | |
public LocaleChangeInterceptor localeChangeInterceptor() { | |
LocaleChangeInterceptor interceptor = new LocaleChangeInterceptor(); | |
interceptor.setParamName("lang"); | |
return interceptor; | |
} | |
/* for ServletContextAware */ | |
@Setter(onMethod = @__({ @Override })) | |
private ServletContext servletContext; | |
/* Cookieにロケール情報を持つ */ | |
@Bean | |
public LocaleResolver localeResolver() { | |
CookieLocaleResolver resolver = new CookieLocaleResolver(); | |
resolver.setDefaultLocale(Locale.JAPAN); | |
resolver.setCookieName("app.setting.locale"); | |
/* CookieLocaleResolverはデフォでcookieのpathを / にしてしまうのでアプリケーションのコンテキストパスにする */ | |
resolver.setCookiePath(servletContext.getContextPath()); | |
/* --> が、ContextPathがnullでされておらず、NullPointerException */ | |
return resolver; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment