Spring MVC 基于session 国际化配置!! 亲测可用


今天要做网站的国际化 包括页面 和 数据库层面

下午找了些网上例子 都不大能用,参考了几篇文章 综合下 终于找到个解决方案


1 配置文件 两处增加

 a  dispatcherServlet.xml 文件 这个就是spring-mvc.xml 

   <!-- 国际化文字 -->
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">                   
<property name="basename" value="message_info" />                 
<property name="useCodeAsDefaultMessage" value="true" />         
</bean>

 b applicationContext.xml 

 增加 

<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
<property name="defaultLocale" value="zh_CN"></property>
</bean>


2 .控制器层面

@RequestMapping(value = "welcome", method = RequestMethod.GET)
public String welcomeNew(HttpServletRequest request, HttpServletResponse response,String locale) {
List<RevitNewEntity> hotRevitList = revitNewEntityService.getHotRevit();
request.setAttribute("hotRevitList", hotRevitList);
List<RevitAddInShowDto> nowDownList = revitNewEntityService.getDownLoadNowRevit();
request.setAttribute("nowDownList", nowDownList);

String langType = locale;
if(langType==null||langType.equals("")){
return "/index";
}else{
if (langType.equals("zh")) {
Locale locale1 = new Locale("zh", "CN");
request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME, locale1);
} else if (langType.equals("en")) {
Locale locale1 = new Locale("en", "US");
request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME, locale1);
} else {
request.getSession().setAttribute(SessionLocaleResolver.LOCALE_SESSION_ATTRIBUTE_NAME, LocaleContextHolder.getLocale());
}
}

return "/index";
}


3 .url 触发操作 http://localhost:8080/revitbus/welcome.html?locale=en

或者 http://localhost:8080/revitbus/welcome.html?locale=zh


4 .资源文件路径如下


测试资源文件内容如下:
message_info_en_US.properties

main.title=Hello World!  
title=SpringMVC
username=username     
password=password     
password2=password2     
submit=submit     
welcome=welcome     

message_info_zh_CN.properties 

title=SpringMVC\u5B9E\u4F8B
username=\u8F93\u5165\u7528\u6237\u540D\:    
password=\u8F93\u5165\u5BC6\u7801\: 

5 jsp 内容写法 有两种
导入库 
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%-- <%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> --%>

资源内容显示:
<fmt:message key="title"></fmt:message>
<%-- <spring:message code="welcome"></spring:message> --%>

注释放开关闭另一个也是可以的

效果图  内容可以和上面资源文件对照
这个中文



英文



参考文章:http://www.tuicool.com/articles/jA3yEvZ
http://www.xdemo.org/spring-i18n/
http://www.boydavid.com/?post=57  表示感谢


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值