美文网首页
05|第五课:视图、视图解析器、国际化

05|第五课:视图、视图解析器、国际化

作者: 木头amo | 来源:发表于2019-02-07 19:56 被阅读20次

一、历史回顾

(一)、ModelAndView

图示

二、视图、视图解析器、国际化

(一)、视图(View)、视图解析器、国际化

1、View接口(视图)

View接口是视图的顶级接口

实现该接口的实现类比较多,这里特别讲解几个,如下图所示:

View视图实现类简介

2、ViewResolver接口(视图解析器)

实现该接口的实现类比较多,这里特别讲解几个,如下图所示:

ViewResolver实现类简介

3、常见的视图和解析器

常用的视图和解析器是:InternalResourceView、InternalResourceViewResolver。InternalResourceViewResolver把Controller返回的字符串加前缀和后缀,把这个字符串渲染成JSP所对应的页面。InternalResourceView还有一个子类是JstlView,它可以解析Jstl标签,可以实现国际化操作。springMVC解析JSP时会默认使用InteralResourceView,如果发现JSP中包含了jstl语言,则自动转为JstlView。

验证:如果发现JSP中包含了jstl语言,则自动转为JstlView去解析。通过打断点的方式,在InternalResourceViewResolver.class ---> buildView方法中断点查看返回的视图的内容

4、国际化

JstlView可以解析Jstl标签,可以实现国际化操作。

国际化:针对不同地区、不同国家,进行不同的显示。

(1)、具体实现国际化步骤:

a、创建资源文件

基名_语言.properties。这个不管什么国家都可以。

基名_语言_国家.properties。例:base_en_US.properties、i18n_zh_CN.properties。如下图所示:

资源文件命名规则

注意:“.properties”文件里面的内容都是key-value对,具体内容如例:welcome=欢迎。如果没有在“base_zh_CN.properties”文件中找到,那就去“base.properties”文件寻找。这里的value如果是中文的话,一定要转成ASCII码。

b、配置springmvc.xml,加载资源文件:

ResourceBundleMessageSource会在springMVC响应程序时候介入解析国际化资源文件。并且这个bean的id一定要是“messageSource”值。如下图所示:

springmvc.xml的配置信息

c、通过jstl使用国际化

使用两个jar包:jstl.jar、standar.jar。

注意:直接通过地址栏访问对应拥有国际化标签的JSP页面是不可以的,它需要通过springMVC的ResourceBundleMessageSource来处理响应处理标签中的国际化标签

例:(国际化)

引入两个jar包:

引入这两个jar包

资源文件:

中文和英文的资源文件

注意:如果是中文内容的资源文件,那内容中是中文需要转成ASCII码。

springmvc.xml文件配置:

代码

注意:这里的id一定要是“messageSource”,通过阅读源代码可以查看到。

请求页面(index.jsp):一定要通过请求的方式来通过springMVC的方式才能走国际化

请求页面

Controller处理请求:

处理请求

响应页面(success.jsp):

响应页面

相关文章

网友评论

      本文标题:05|第五课:视图、视图解析器、国际化

      本文链接:https://www.haomeiwen.com/subject/borusqtx.html