温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

浅谈SpringMVC之视图解析器(ViewResolver)

发布时间:2020-09-16 21:33:13 来源:脚本之家 阅读:118 作者:尚振伟 栏目:编程语言

SpringMVC中的视图解析器的主要作用就是将逻辑视图转换成用户可以看到的物理视图。

当用户对SpringMVC应用程序发起请求时,这些请求都会被SpringMVC的DispatcherServlet处理,通过处理器找到最为合适的HandlerMapping定义的请求映射中最为合适的映射,然后通过HandlerMapping找到相对应的Handler,然后再通过相对应的HandlerAdapter处理该Handler。返回结果是一个ModelAndView对象,当该ModelAndView对象中不包含真正的视图,而是一个逻辑视图路径的时候,ViewResolver就会把该逻辑视图路径解析为真正的View视图对象,然后通过View的渲染,将最终结果返回给用户。

SpringMVC中处理视图最终要的两个接口就是ViewResolver和View,ViewResolver的作用是将逻辑视图解析成物理视图,View的主要作用是调用其render()方法将物理视图进行渲染。

一般来说,对于SpringMVC控制器中的方法,无论是返回String、View或者是ModelAndView,SpringMVC在内部都会将返回结果封装成ModelAndView对象,然后返回给用户。

视图解析器需要配置在SpringMVC的配置文件中,如下:

<!-- 对转向页面的路径解析。prefix:前缀, suffix:后缀 --> 
  <bean id="viewResolver" 
    class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="prefix" value="/page"></property> 
    <property name="suffix" value=".jsp"></property> 
  </bean> 

SpringMVC视图解析器解析流程:

1、将SpringMVC控制器中的返回结果封装成一个ModelAndView对象。

2、通过SpringMVC中的视图解析器,使用ViewResolver对控制器返回的ModelAndView对象进行解析,将逻辑视图转换成物理视图。

3、调用View中的render()方法对物理视图进行渲染。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI