SpringMVC实现中英文切换
说明:该配置基于SpringMVC环境搭建的基础上,实现的中英文切换
步骤一:在spring核心配置文件中配置
<!-- 配置国际化语言配置文件 -->
<bean name="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames" value="i18n.message"></property>
<property name="defaultEncoding" value="UTF-8"></property>
</bean>
<!-- 基于Session的国际化配置 -->
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"></bean>
<!-- 动态中英文切换 -->
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="locale"></property>
</bean>
步骤二:创建国际化文件【message_en.properties、message_zh_CN.properties】
1、在项目的src目录下,创建i18n目录 【配置<property name="basenames" value="i18n.message">中的i18n.message 代表.properties所在文件夹名和文件内容后台格式后缀】
2、在i18l目录下创建message_en.properties、message_zh_CN.properties文件
3、.properties文件格式
message_en.properties
Bean.xxx1.message=xxx1Value_En//前端后台数据格式
Bean.xxx2.message=xxx2Value_En
page.index.text1=text1Value_En//前端页面数据格式
page.index.text2=text2Value_En
message_zh_CN.properties
Bean.xxx1.message=xxx1Value_CN//前端后台数据格式
Bean.xxx2.message=xxx2Value_CN
page.index.text1=text1Value_CN//前端页面数据格式
page.index.text2=text2Value_CN
步骤结构截图:
步骤三:定义语言切换Controller方法
@Autowired
private LocaleResolver localeResolver;
/**
* 设置中英文切换
* @param request
* @param response
* @param language
* @return
*/
@RequestMapping(value="/user/changeLanguage")
public String changeLanguage(HttpServletRequest request,HttpServletResponse response,String language){
if(language.equals("en_US")){
localeResolver.setLocale(request, response,Locale.US);
}else if(language.equals("zh_CN")){
localeResolver.setLocale(request, response, Locale.CHINA);
}
return "redirect:/user/users";
}
步骤四:前端页面显示
<th><spring:message code="user.birthday.message"></spring:message></th>
<th><spring:message code="user.telephone.message"></spring:message></th>
<th><spring:message code="user.address.message"></spring:message></th>
<th><spring:message code="page.index.action"></spring:message></th>
效果图