Spring mvc model/ModelAndView/JSP/Serverlet

我们可以这样简单地理解MVC,C是controller,进行具体的处理,处理后得到的结果(数据)放入Model中,将Model传递到view,view具体负责向client呈现。

 

Spring提供了很多View:

  • InternalResourceView:使用传统的jsp
  • JstlView:使用支持JSTL的jsp,JstView和InternalResourceView将Model的属性转换为request的属性,因此可以jsp中通过EL来获取model中的值。
  • FreeMarkerView:支持 FreeMarker模板yinq
  • VelocityView:支持Apache Velocity模板引擎
  • TilesView:支持Apache Tiles模板引擎
  • MappingJackson2JsonView:输出为json格式
  • MarshallingView:输出为XML格式
  • RedirectView:重定向,在HTTP1.1的303 See Other或者HTTP1.0的302 Found的Location header中给出重定向地址
     

Spring如何找到view:

  • 如果controller返回View或者ModelAndView中还有View,则直接使用该view来进行渲染。
  • 如果controller的方法返回String作为view名字,或者ModelAndView中的View是一个String,则Spring需要将该view的名字解析为真正的view,这个解析过程需要解析器,即ViewResolver,这是Spring FrameworkServlet中配置,及在dispacher中配置。
  • 如果返回model或者model属性,则是通过请求的url翻译为view 名字,这是通过配置好的RequestToViewNameTranslator实现,再通过ViewResolver找到view。
  • 如果返回一个response entity,则根据内容协商来找到相应的view。

SpringMVC视图及REST风格

SpringMvc in Action——渲染Web视图

SpringBoot分析原理篇-SpringMVC视图渲染过程

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页