Spring mvc视图机制

转载 2015年11月20日 10:17:54

Spring mvc视图机制

所有的web应用的mvc框架都有它定位视图的方式。Spring提供了视图解析器供你在浏览器中显示模型数据,而不必被拘束在特定的视图技术上。

Spring的控制器Controller会返回一个ModelAndView的实例。Spring根据ModelAndView实例中的View和Model把信息反馈给用户。Spring中的视图是以名字为标识的,ViewResolver是通过名字来解析view的。Spring提供了多种视图和视图解析器。

A、ModelAndView

org.springframework.web.servlet.ModelAndView

public class ModelAndView extends Object

ModelAndView如其名称所示,它代表了Spring Web MVC中呈现画面时所使用的Model与View,由于Java一次只能返回一个物件,所以ModelAndView的作用封装这两个物件,以方便您一次返回Model与View这两个物件。

构造方法

ModelAndView(String viewName)

Convenient constructor when there is no model data to expose.

最简单的ModelAndView是只有View的名称,之后View名称被View resolver,也就是org.springframework.web.servlet.View的实例解析,例如 InternalResourceView或JstlView等等。

ModelAndView(String viewName, Map model)

Creates new ModelAndView given a view name and a model.

如果您要返回呈现画面时所需的Model资料,则可以使用Map来收集呈现View时所需的资料,然后在建构ModelAndView作为建构时的参数。

ModelAndView(String viewName, String modelName, Object modelObject)

Convenient constructor to take a single model object.

返回单个model时使用。

B、ViewResolver(视图解析器)

org.springframework.web.servlet.ViewResolver

public interface ViewResolver

现在我们有了view名称,也有了显示时需要的model资料,那么我们如何显示view了。这就需要用到ViewResolver,它提供了从视图名称到实际视图的映射。

(例如我们得到的view名称为test,通过ViewResolver我们把它映射到/WEB-INF/jsp/test.jsp的资源上,当然也可以把test映射到test.pdf的资源上,这部分工作由ViewResolver来完成,但是具体如何显示test.jsp或test.pdf,就需要View来实现了)。

SpringMVC - 视图解析过程详解

本篇主要讲述SpringMVC如何解析、渲染视图并转发返回结果对象。请求处理方法执行完成后,最终返回一个ModelAndView对象。对于那些返回String,view或者ModelMap等类型的处理...
  • J080624
  • J080624
  • 2017年02月22日 11:30
  • 1571

Spring mvc 找不到视图原因

结构如图所示,为什么不能找到对应视图呢? 这时候只需要将第一幅图改为/...
  • silk_java
  • silk_java
  • 2015年02月15日 10:09
  • 607

SpringMVC映射器,逻辑视图名及自定义springmvc.xml路径

pom.xml
  • scgaliguodong123_
  • scgaliguodong123_
  • 2015年11月17日 15:35
  • 3832

SpringMVC同时支持多视图(JSP,Velocity,Freemarker等)的一种思路实现

在基于SpringMVC的项目中有时需要同时使用多种视图格式,如jsp,velocity及freemarker等,通过不同的请求路径配置规则,映射到不同的视图文件。下面我提供一种思路,通过视图模板文件...
  • z69183787
  • z69183787
  • 2014年10月24日 14:08
  • 13998

springmvc学习笔记(15)——自定义视图

什么时候用到自定义视图通常我们所用到的视图就是jsp等网页,有些时候,我们会根据我们的需求自定义视图。比如我们要提交一个表单,然后把表单的内容导出为Excel,这时候我们就可以定义一个导出Excel的...
  • u010837612
  • u010837612
  • 2015年04月24日 15:36
  • 1940

SpringMVC那些事-视图渲染

上一个阶段返回了ModelAndView(这里假设返回了MAV,我们讨论的是有视图渲染的情况),接下来就是视图渲染阶段了. MAV包含了可以确定视图的信息,和需要渲染的数据,也就是model. ...
  • yhjyumi
  • yhjyumi
  • 2015年10月01日 23:03
  • 2900

SpringMVC多视图配置

最近在springmvc上集成velocity,磕磕绊绊,总算是有所收获,在此记录一下。    Velocity是一种易用的模板语言。Velocity将Java代码从Web 页面中分离出来,使用...
  • x1066988452
  • x1066988452
  • 2017年01月13日 16:16
  • 873

SpringMVC配置JSON、JSP、FreeMark多视图解析器配置

Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring...
  • dearsny
  • dearsny
  • 2015年04月25日 21:58
  • 3789

SpringMVC视图机制详解

SpringMVC视图机制详解[附带源码分析] 目录 前言重要接口和类介绍源码分析编码自定义的ViewResolver总结参考资料 前言 SpringMVC是目前主流的We...
  • u014263388
  • u014263388
  • 2015年04月02日 11:50
  • 1852

springmvc之视图定位

如果代码写成这样,就表示跳转到页面index.jsp new ModelAndView("index.jsp"); 所谓视图定位,指的是代码还是写成这样,但是会跳转到/WEB-INF/page/i...
  • sinat_35608637
  • sinat_35608637
  • 2017年06月18日 13:48
  • 273
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spring mvc视图机制
举报原因:
原因补充:

(最多只允许输入30个字)