SpringMVC----视图和视图解析器(14)

 1.SpringMVC解析视图的大致流程。

      当我们调用目标方法后,会有处理方法的返回值,不管返回值类型是String,ModelAndView,View,视图解析器都会把它

      转化为ModelAndView类型,经过ViewResolver来得到视图的物理路径。

 2.请求处理方法执行完成后,最终返回一个 ModelAndView对象。对于那些返回 String,View 或 ModeMap 等类型的处理方

    法,Spring MVC 也会在内部将它们装配成一个ModelAndView 对象,它包含了逻辑名和模型对象的视图

 3.Spring MVC 借助视图解析器(ViewResolver)得到最终的视图对象(View),最终的视图可以是 JSP ,也可能是Excel、

    JFreeChart 等各种表现形式的视图

  4.对于最终究竟采取何种视图对象对模型数据进行渲染,处理器并不关心,处理器工作重点聚焦在生产模型数据的工作上,

     从而实现 MVC 的充分解耦

  5.视图的作用是渲染模型数据,将模型里的数据以某种形式呈现给客户。视图对象由视图解析器负责实例化。

6.视图解析器:将逻辑视图解析为一个具体的视图对象。

7.InternalResourceViewResolver

       JSP 是最常见的视图技术,可以使用InternalResourceViewResolver 作为视图解析器:(目标方法会

                             返回一个字符串,使用了InternalResourceViewResolver 视图解析器后,会结合在

                             spring.xml文件中配置的前缀和后缀,解析成一条URL,指向实际存在的一个页面。)

8.mvc:view-controller标签。

     若希望直接响应通过 SpringMVC 渲染的页面,不经过控制器,处理方法,可以使用 mvc:view-controller 标签实现。

     path:请求URL view-name:目标页面。

<!--可以直接响应转发的页面,而无需再经过Handler的方法 -->
<mvc:view-controller path="springMVC/testJstView" view-name="success"/>

    注意:如果添加了mvc:view-controller标签,会导致其他的请求发生404错误,解决给问题的方法。添加

              mvc:annotation-driven标签。原因??????

<!-- 在实际开发中通常需要配置mvc:annotation-driven标签 -->
<mvc:annotation-driven></mvc:annotation-driven>

猜你喜欢

转载自blog.csdn.net/lsh15846393847/article/details/89887128