视图、视图解析器、国际化——SpringMVC框架系列教程(7)

Java技术 潘老师 3年前 (2021-03-08) 1184 ℃ (0) 扫码查看

1.工作流程:

.视图(View)和视图解析器(ViewResolver)的工作流程如下:
当请求处理方法处理完请求之后,会返回String、ModelAndView或View对象,如return “success”;但返回值最终都会被SpringMVC统一转为ModelAndView对象并返回;随后Spring就会用ViewResolver,把返回的ModelAndView对象中的View渲染给用户看(即返回给浏览器)
视图、视图解析器、国际化——SpringMVC框架系列教程(7)

2.接口的实现类

视图的顶级接口为View,接口的实现类及部分简介如下:
视图、视图解析器、国际化——SpringMVC框架系列教程(7)

3.常用的视图解析器实现类

视图解析器的顶级接口ViewResolver,常用的视图解析器实现类及简介如下:
视图、视图解析器、国际化——SpringMVC框架系列教程(7)

4.InternalResourceView和JstlView以及InternalResourceViewResolver

JstlView是InternalResourceView的子类,JstlView可以解析jstl标签,实现国际化。
InternalResourceViewResolver是它们的视图解析器,通过前后缀将字符串转为jsp

注意:SpringMVC在解析jsp时,会默认使用InternalResourceView,如果发现jsp中有jstl标签,则自动转为JstlView

5.JstlView实现国际化:

国际化:针对不同国家、不同地区,进行不同的显示(比如中国显示“欢迎”,美国则显示“welcome”)

实现国际化步骤:

a.创建资源文件
格式:基名_语言_国家(或地区).properties
一般基名取值为i18n或base
视图、视图解析器、国际化——SpringMVC框架系列教程(7)
这里我们在src下创建3个配置文件:
视图、视图解析器、国际化——SpringMVC框架系列教程(7)
b.在springmvc.xml中新增加载国际化文件配置
实现原理:
1)必须配置id为messageSource:因为在程序加载时,springmvc会自动查找id为messageSource的bean,然后将ResourceBundleMessageSource加载
2)如果配置了ResourceBundleMessageSource,则该类会在程序响应是介入
视图、视图解析器、国际化——SpringMVC框架系列教程(7)
c.使用jstl实现国际化
1)导入jstl jar包
视图、视图解析器、国际化——SpringMVC框架系列教程(7)
2)在jsp页面引入fmt标签库
视图、视图解析器、国际化——SpringMVC框架系列教程(7)
3)使用标签
视图、视图解析器、国际化——SpringMVC框架系列教程(7)
4)添加测试方法
视图、视图解析器、国际化——SpringMVC框架系列教程(7)
5)使用浏览器访问测试
视图、视图解析器、国际化——SpringMVC框架系列教程(7)
6)切换浏览器语言为美国
视图、视图解析器、国际化——SpringMVC框架系列教程(7)
7)重新访问:
视图、视图解析器、国际化——SpringMVC框架系列教程(7)


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/java/2380.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】