在系列(7)中我们讲了数据的格式化显示,春天在做格式化展示的时候已经做了国际化处理,那么如何将我们网站的其它内容(如菜单,标题等)做国际化处理呢?这就是本篇要将的内容→国际化。
首先配置我们项目的springservlet-config.xml文件添加的内容如下:
& lt; bean id=癿essageSource”类=皁rg.springframework.context.support.ResourceBundleMessageSource”比; & lt; !——国际化信息所在的文件名——比; & lt;属性名=":" value=" https://www.yisu.com/zixun/messages "/比; & lt; !——如果在国际化资源文件中找不到对应代码的信息,就用这个代码作为名称——比; & lt;属性名=" useCodeAsDefaultMessage " value=" https://www.yisu.com/zixun/true "/比; & lt;/bean>
在com.demo.web.controllers包中添加GlobalController.java内容如下:
包com.demo.web.controllers; 进口java.util.Date; 进口javax.servlet.http.HttpServletRequest; 进口org.springframework.stereotype.Controller; 进口org.springframework.ui.Model; 进口org.springframework.web.bind.annotation.RequestMapping; 进口org.springframework.web.bind.annotation.RequestMethod; 进口org.springframework.web.servlet.support.RequestContext; 进口com.demo.web.models.FormatModel; @ controller @RequestMapping (value=" https://www.yisu.com/global ") 公开课GlobalController { @RequestMapping (value=" https://www.yisu.com/test ",方法={RequestMethod.GET}) 公共字符串测试(HttpServletRequest请求,模型模型){ 如果(! model.containsAttribute (“contentModel”)) {//从后台代码获取国际化信息 RequestContext RequestContext=new RequestContext对象(请求); 模型。addAttribute(“钱”,requestContext.getMessage(“钱”)); 模型。addAttribute(“日期”,requestContext.getMessage("日期")); FormatModel FormatModel=new FormatModel (); formatModel.setMoney (12345.678); formatModel。设置当前日期(新日期()); 模型。addAttribute (“contentModel formatModel); } 返回“globaltest”; } } >之前这里展示模型还用系列(7)中的作为演示。
在项目中的源文件夹资源中添加messages.properties, messages_zh_CN.properties, messages_en_US.properties三个文件,其中messages.properties, messages_zh_CN。属性里面的“钱”,“日期”,为中文,messages_en_US.properties里面的为英文。
在视图文件夹中添加globaltest.jsp视图,内容如下:
% @ & lt;页面语言=癹ava”contentType=" text/html;charset=utf - 8” pageEncoding=" utf - 8 " %比; & lt; !DOCTYPE html公共”——//W3C html 4.01过渡//EN//DTD”“http://www.w3.org/TR/html4/loose.dtd”的在 & lt; %=@ taglib前缀“春”uri=" http://www.springframework.org/tags " %比; & lt; html> & lt; head> & lt;元http-equiv=? type”内容=" text/html;charset=utf - 8”比; & lt; title>插入标题here & lt;/head> & lt; body> 下面展示的是后台获取的国际化信息:& lt; br/比; ${钱}& lt; br/比; ${日期}& lt; br/比; 下面展示的是视图中直接绑定的国际化信息:& lt; br/比; & lt;春天:消息代码=扒?祝辞:& lt; br/比; & lt;春天:eval表达=" contentModel.money "祝辞& lt;/春天:eval> & lt; br/比; & lt;春天:消息代码="日期"/祝辞:& lt; br/比; & lt;春天:eval表达=" contentModel.date "祝辞& lt;/春天:eval> & lt; br/比; & lt;/body> & lt;/html> >之前运行测试:
更改浏览器语言顺序,刷新页面:
在项目的springservlet-config.xml文件添加的内容如下(第一种时添加的内容要保留):
& lt; mvc: interceptors> & lt; !——国际化操作拦截器如果采用基于(请求/会议/Cookie)则必需配置——比; & lt; bean类=" org.springframework.web.servlet.i18n。LocaleChangeInterceptor”/比; & lt;/mvc: interceptors> & lt; bean id=發ocaleResolver”类=" org.springframework.web.servlet.i18n。SessionLocaleResolver”/比;详解SpringMVC学习系列之国际化