14.Web视图

在前面说Spring MVC请求流程的时候,提到需要将数据模型填充到对应的视图中,并且匹配到特定的视图需要由视图解析器来解析和渲染视图,然后以view的形式返回到客户端,呈现出用户希望看到的形式。
接着看一下View Resolver和View的定义:


ViewResolver接口

当给resolveViewName方法传递一个视图名和Locale对象时,他会返回一个View的实例。


View

View接口接收模型以及servlet的request和response对象,并将输出结果渲染到response中。
InternalResourceViewer类的定义:
InternalResourceViewResolver.png

下面是JstlView类,如果我们在JSP使用了JSTL标签,那么InternalResourceViewResolver会将视图名解析为JstlView形式的JSP文件,从而将JSTL本地化和资源bundle变量暴露给JSTL格式化和信息标签。JtslView的具体定义:


JstlView类.png

配置InternalResourceViewResolver的方式
(1)Java代码实现


Java方式实现配置InternalResourceViewResolver.png

(2)XML形式实现


Xml形式配置IntervalResourceViewResolver.png

ResourceBoundleMessageSource类
它会从一个属性文件中加载信息,这个属性文件的名称是根据基础名称来的。它会试图在根路径的属性文件中解析信息,这些属性文件的名称是根据这个基础名称衍生得到的。
ReloadableResourceBoundleMessageSource类
该类可以重新加载信息属性,不必重新编译或者重启应用。
两者的区别在于basename属性设置为在应用的外部查找,ResourceBoundleMessageSource是在类路劲下查找。basename属性可以设置为在类路径下(以classpath:为前缀),或者文件系统中(以file:为前缀)或者在Web应用的根路径下查找属性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容