下面列出了怎么用org.springframework.web.servlet.i18n.CookieLocaleResolver的API类实例代码及写法,或者点击链接到github查看源代码。
/**
* get locale from Spring Resolver,if locale is null,get locale from Spring.
* SessionLocaleResolver this is from internationalization
*
* @return Locale
*/
public static Locale getLocale() {
Locale locale = null;
try {
CookieLocaleResolver cookieLocaleResolver =
(CookieLocaleResolver) getBean("localeResolver");
locale = cookieLocaleResolver.resolveLocale(getRequest());
} catch (Exception e) {
LogFactory.getLog(WebContext.class).debug("getLocale() error . ");
e.printStackTrace();
locale = RequestContextUtils.getLocale(getRequest());
}
return locale;
}
/**
* 根据当前request对象中的locale(Header的Accept属性)初始化系统国际化语言区域环境
*
* @param request 当前请求对象
* @param response 当前响应对象
*/
public static void setInitLocale(final HttpServletRequest request, final HttpServletResponse response) {
final Locale locale = request.getLocale();
log.info("Init locale from user request,country:{},lang:{}", locale.getCountry(), locale.toLanguageTag());
if (localeResolver instanceof CookieLocaleResolver) {
final CookieLocaleResolver cookieLocaleResolver = (CookieLocaleResolver)localeResolver;
final Cookie cookie = WebUtils.getCookie(request, cookieLocaleResolver.getCookieName());
if (cookie == null) {
setLocale(locale.toLanguageTag(), request, response);
}
}
if (localeResolver instanceof SessionLocaleResolver) {
final Locale sessionLocale = (Locale)WebUtils.getRequiredSessionAttribute(
request, SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME);
if (sessionLocale == null) {
setLocale(locale.toLanguageTag(), request, response);
}
}
}
@Before
public void setup() {
CookieLocaleResolver localeResolver = new CookieLocaleResolver();
localeResolver.setCookieDomain("domain");
localeResolver.setCookieHttpOnly(true);
this.mockMvc = standaloneSetup(new SimpleController())
.addInterceptors(new LocaleChangeInterceptor())
.setLocaleResolver(localeResolver)
.defaultRequest(get("/").param("locale", "en_US"))
.alwaysExpect(status().isOk())
.build();
}
@Bean
public LocaleResolver localeResolver() {
CookieLocaleResolver slr = new CookieLocaleResolver();
slr.setDefaultLocale(Locale.CHINA);
slr.setCookieMaxAge(LOCAL_COOKIE_TIME);
return slr;
}
@Before
public void setup() {
CookieLocaleResolver localeResolver = new CookieLocaleResolver();
localeResolver.setCookieDomain("domain");
localeResolver.setCookieHttpOnly(true);
this.mockMvc = standaloneSetup(new SimpleController())
.addInterceptors(new LocaleChangeInterceptor())
.setLocaleResolver(localeResolver)
.defaultRequest(get("/").param("locale", "en_US"))
.alwaysExpect(status().isOk())
.build();
}
@Bean
CookieLocaleResolver localeResolver() {
CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver();
cookieLocaleResolver.setDefaultLocale(Locale.ENGLISH);
cookieLocaleResolver.setCookieMaxAge(3600);
cookieLocaleResolver.setCookieName("locale");
return cookieLocaleResolver;
}
@Bean
CookieLocaleResolver localeResolver() {
CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver();
cookieLocaleResolver.setDefaultLocale(Locale.ENGLISH);
cookieLocaleResolver.setCookieMaxAge(3600);
cookieLocaleResolver.setCookieName("locale");
return cookieLocaleResolver;
}
@Bean
CookieLocaleResolver localeResolver() {
CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver();
cookieLocaleResolver.setDefaultLocale(Locale.ENGLISH);
cookieLocaleResolver.setCookieMaxAge(3600);
cookieLocaleResolver.setCookieName("locale");
return cookieLocaleResolver;
}
/**
* Cookie configuration for the internationalization settings
*/
@Bean
CookieLocaleResolver localeResolver() {
final CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver();
cookieLocaleResolver.setDefaultLocale(Locale.ENGLISH);
cookieLocaleResolver.setCookieMaxAge(3600);
cookieLocaleResolver.setCookieName("locale");
return cookieLocaleResolver;
}
@Bean
public LocaleResolver localeResolver() {
CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver();
cookieLocaleResolver.setDefaultLocale(StringUtils
.parseLocaleString("en"));
return cookieLocaleResolver;
}
@Bean
public LocaleResolver localeResolver() {
CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver();
cookieLocaleResolver.setDefaultLocale(StringUtils
.parseLocaleString("en"));
return cookieLocaleResolver;
}
@Bean
public LocaleResolver localeResolver() {
CookieLocaleResolver slr = new CookieLocaleResolver();
slr.setDefaultLocale(Locale.CHINA);
slr.setCookieMaxAge(3600);
slr.setCookieName("Language");
return slr;
}
@Bean
public LocaleResolver localeResolver() {
// Cookieに言語を保存する
val resolver = new CookieLocaleResolver();
resolver.setCookieName("lang");
return resolver;
}
@Before
public void setup() {
CookieLocaleResolver localeResolver = new CookieLocaleResolver();
localeResolver.setCookieDomain("domain");
this.mockMvc = standaloneSetup(new SimpleController())
.addInterceptors(new LocaleChangeInterceptor())
.setLocaleResolver(localeResolver)
.defaultRequest(get("/").param("locale", "en_US"))
.alwaysExpect(status().isOk())
.build();
}
public static Locale getLocale(){
return (Locale) getRequest().getAttribute(CookieLocaleResolver.LOCALE_REQUEST_ATTRIBUTE_NAME);
}
@Bean
public CookieLocaleResolver localeResolver() {
return new CookieLocaleResolver();
}
@Bean
public LocaleResolver localeResolver() {
CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver();
return cookieLocaleResolver;
}
@Bean
public LocaleResolver localeResolver() {
CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver();
return cookieLocaleResolver;
}
@Bean
public LocaleResolver localeResolver() {
CookieLocaleResolver cookieLocaleResolver = new CookieLocaleResolver();
cookieLocaleResolver.setDefaultLocale(Locale.ENGLISH);
return cookieLocaleResolver;
}