81,094
社区成员
发帖
与我相关
我的任务
分享
<!-- 配置国际化资源文件路径 -->
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<array>
<value>i18n/sys/ApplicationResources</value>
<value>i18n/sys/user/ApplicationResources</value>
</array>
</property>
<!-- 如果在国际化资源文件中找不到对应代码的信息,就用这个代码作为名称 -->
<property name="useCodeAsDefaultMessage" value="true" />
<!-- 刷新资源文件的周期,以秒为单位 -->
<property name="cacheSeconds" value="5" />
</bean>
<!-- 基于Cookie的本地化解析器 -->
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
<property name="cookieMaxAge" value="604800"/>
<property name="defaultLocale" value="zh_CN"/>
<property name="cookieName" value="Language"></property>
</bean>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<spring:message code="sys.sysUser" />
@RequestMapping("/test")
@ResponseBody
public String test(HttpServletRequest request, HttpServletResponse response) throws Exception {
Locale locale = LocaleContextHolder.getLocale();
System.out.println(locale);
String str1 = messageSource.getMessage("sys.sysUser", null, locale);
System.out.println(str1);
return str1;
}
@Autowired
private LocaleContextResolver localeResolver;
/**
* 语言切换
*/
@RequestMapping("language")
public ModelAndView language(HttpServletRequest request, HttpServletResponse response, String language) {
language = language.toLowerCase();
System.out.println("language:" + language);
if (language == null || language.equals("")) {
return new ModelAndView("redirect:/");
} else {
if (language.equals("zh_cn")) {
localeResolver.setLocale(request, response, Locale.CHINA);
} else if (language.equals("en")) {
localeResolver.setLocale(request, response, Locale.ENGLISH);
} else {
localeResolver.setLocale(request, response, Locale.CHINA);
}
}
return new ModelAndView("redirect:/");
}
/**
* 语言切换,非重定向跳转
*/
@RequestMapping("language")
public ModelAndView language(HttpServletRequest request, HttpServletResponse response, String language) {
language = language.toLowerCase();
System.out.println("language:" + language);
if (language == null || language.equals("")) {
return new ModelAndView("/index");
} else {
if (language.equals("zh_cn")) {
localeResolver.setLocale(request, response, Locale.CHINA);
} else if (language.equals("en")) {
localeResolver.setLocale(request, response, Locale.ENGLISH);
} else {
localeResolver.setLocale(request, response, Locale.CHINA);
}
}
return new ModelAndView("/index");
}