SpringMVC 视图解析的几种方式:

在视图解析的过程中,需要知道逻辑view的名字,model的名字以访问model和view。

使用jsp进行解析,InternalResourceViewResolver 做解析器

1、使用modelAndView,addObject()方法存储数据和访问model的名字,setViewName()方法设置逻辑视图名称

    @RequestMapping("querycourse.do")
public ModelAndView list(HttpServletRequest request, HttpServletResponse response) {
List<Course> list = courseService.queryAll();
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("list", list);
modelAndView.setViewName("querycourse");
return modelAndView;

2、使用String,只返回逻辑视图名称,数据自动存储在model中,使用类型的名称作为应用model数据,如这里访问model使用courseList,逻辑view为querycourse

    @RequestMapping("querycourse.do")
public String list(Model model) {
List<Course> list = courseService.queryAll();
//使用courseList作为model名
model.addAttribute(list);
return "querycourse";
}

3、直接return model,非String和modelAndView,如非json的集合,Map等,使用“数据”作为返回结果,逻辑视图名称默认为RequestMapping路径的映射结果,使用类型的名称作为应用model数据,如这里访问model使用courseList,逻辑视图为querycourse

    @RequestMapping("querycourse.do")
public List<Course> list() {
List<Course> list = courseService.queryAll();
//使用querycourse作为默认视图名
return list;
}

当逻辑视图不存在时:





返回404

4、 json交互

注意,这里没有使用json的交互方式,json的交互方式是怎样的呢?ModelAndView可以直接返回页面和数据十分方便,如果想做页面局部刷新的功能,只想返回数据而不返回页面时,该怎么办呢?

用ModelAndView显然不行,因为其必须要附带视图页面,如果没有会报错

可以参考下面这篇文章:json交互

5、源码查看

返回String时,视图解析器利用String创建视图的实例,这里是InternalResourceView的实例

创建视图时,视图包含model,request,response,所以返回string可以访问。

springmvc视图解析的更多相关文章

  1. SpringMVC视图解析器

    SpringMVC视图解析器 前言 在前一篇博客中讲了SpringMVC的Controller控制器,在这篇博客中将接着介绍一下SpringMVC视 图解析器.当我们对SpringMVC控制的资源发起 ...

  2. SpringMVC视图解析器(转)

    前言 在前一篇博客中讲了SpringMVC的Controller控制器,在这篇博客中将接着介绍一下SpringMVC视图解析器.当我们对SpringMVC控制的资源发起请求时,这些请求都会被Sprin ...

  3. SpringMVC 视图解析器

    SpringMVC 视图解析器 还记得SpringMVC 快速入门中,dispatcher-servlet.xml 配置的视图解析器么.它是SpringMVC 的核心知识点.本章节比较简单,明白视图解 ...

  4. Spring Boot实践——SpringMVC视图解析

    一.注解说明 在spring-boot+spring mvc 的项目中,有些时候我们需要自己配置一些项目的设置,就会涉及到这三个,那么,他们之间有什么关系呢? 首先,@EnableWebMvc=Web ...

  5. springmvc视图解析流程

    无论目标方法返回String.VIew或者是ModelAndView,springmvc都会转化成ModelAndView 然后通过视图解析器(如InternalResouceViewResolver ...

  6. springmvc 之 SpringMVC视图解析器

    当我们对SpringMVC控制的资源发起请求时,这些请求都会被SpringMVC的DispatcherServlet处理,接着Spring会分析看哪一个HandlerMapping定义的所有请求映射中 ...

  7. SpringMVC视图解析器概述

    不论控制器返回一个String,ModelAndView,View都会转换为ModelAndView对象,由视图解析器解析视图,然后,进行页面的跳转. 控制器处理方法---->ModelAndV ...

  8. springMVC视图解析器——InternalResourceViewResolver(转)

    springmvc在处理器方法中通常返回的是逻辑视图,如何定位到真正的页面,就需要通过视图解析器. springmvc里提供了多个视图解析器,InternalResourceViewResolver就 ...

  9. 深入SpringMVC视图解析器

    ViewResolver的主要职责是根据Controller所返回的ModelAndView中的逻辑视图名,为DispatcherServlet返回一个可用的View实例.SpringMVC中用于把V ...

随机推荐

  1. Codeforces Round #320 (Div. 2) [Bayan Thanks-Round] B. Finding Team Member 排序

                                                                      B. Finding Team Member             ...

  2. 【bzoj1260】[CQOI2007]涂色paint

    题意:就是说一开始一个序列是空的,然后每次可以将连续的一段染成同一颜色,问多少次才能到目标状态. 一开始想的是二分,然后题解DP... f[i][j]表示区间[i,j]需要染色多少次 首先初始状态是f ...

  3. java 和 Android Base64加密

    Java8 Base64 Java 8 新特性 在Java 8中,Base64编码已经成为Java类库的标准. Java 8 内置了 Base64 编码的编码器和解码器. Base64工具类提供了一套 ...

  4. CSU 1807: 最长上升子序列~ 分类讨论

    1807: 最长上升子序列~ Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 138  Solved: 17[Submit][Status][Web Bo ...

  5. Opencv+Zbar二维码识别(二维码校正)

    二维码和车牌识别基本都会涉及到图像的校正,主要是形变和倾斜角度的校正,一种二维码的畸变如下图: 这个码用微信扫了一下,识别不出来,但是用Zbar还是可以准确识别的~~. 这里介绍一种二维码校正方法,通 ...

  6. 洛谷P1514 引水入城——dfs

    题目:https://www.luogu.org/problemnew/show/P1514 搜索+DP: 自己想出来的方法第一次80分好高兴! 再改了改就A了,狂喜乱舞: 也就是 dfs,仔细一想第 ...

  7. HTML5中File

    一 File对象与FileList对象 当将input元素的type类型设置为file时,web页面上会显示一个选择文本按钮和一个文本显示框,单击文件按钮可以选择一个文件,文本显示框中会显示选中的文件 ...

  8. mysql workbench的简单使用

    注意:即使server没有开启,也可以通过workbench进来编辑页面. 1.再开始程序找到mysql workbench,点击运行 2.t添加管理员链接mysql-------------前提是你 ...

  9. 公司5:JrVue表格

    组件名称:jr-dynamic-query-table 组件布局 table组件名称:  jr-dynamic-query-table 分页组件名称: el-pagination <div re ...

  10. SSH协议、HTTPS中SSL协议的完整交互过程

    1.(SSH)公私钥认证原理 服务器建立公钥:每一次启动sshd服务时,该服务会主动去找/etc/ssh/ssh_host*的文件 客户端通过ssh工具进行连接,如Xshell,SecureCRT 服 ...