springmvc视图解析
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视图解析的更多相关文章
- SpringMVC视图解析器
SpringMVC视图解析器 前言 在前一篇博客中讲了SpringMVC的Controller控制器,在这篇博客中将接着介绍一下SpringMVC视 图解析器.当我们对SpringMVC控制的资源发起 ...
- SpringMVC视图解析器(转)
前言 在前一篇博客中讲了SpringMVC的Controller控制器,在这篇博客中将接着介绍一下SpringMVC视图解析器.当我们对SpringMVC控制的资源发起请求时,这些请求都会被Sprin ...
- SpringMVC 视图解析器
SpringMVC 视图解析器 还记得SpringMVC 快速入门中,dispatcher-servlet.xml 配置的视图解析器么.它是SpringMVC 的核心知识点.本章节比较简单,明白视图解 ...
- Spring Boot实践——SpringMVC视图解析
一.注解说明 在spring-boot+spring mvc 的项目中,有些时候我们需要自己配置一些项目的设置,就会涉及到这三个,那么,他们之间有什么关系呢? 首先,@EnableWebMvc=Web ...
- springmvc视图解析流程
无论目标方法返回String.VIew或者是ModelAndView,springmvc都会转化成ModelAndView 然后通过视图解析器(如InternalResouceViewResolver ...
- springmvc 之 SpringMVC视图解析器
当我们对SpringMVC控制的资源发起请求时,这些请求都会被SpringMVC的DispatcherServlet处理,接着Spring会分析看哪一个HandlerMapping定义的所有请求映射中 ...
- SpringMVC视图解析器概述
不论控制器返回一个String,ModelAndView,View都会转换为ModelAndView对象,由视图解析器解析视图,然后,进行页面的跳转. 控制器处理方法---->ModelAndV ...
- springMVC视图解析器——InternalResourceViewResolver(转)
springmvc在处理器方法中通常返回的是逻辑视图,如何定位到真正的页面,就需要通过视图解析器. springmvc里提供了多个视图解析器,InternalResourceViewResolver就 ...
- 深入SpringMVC视图解析器
ViewResolver的主要职责是根据Controller所返回的ModelAndView中的逻辑视图名,为DispatcherServlet返回一个可用的View实例.SpringMVC中用于把V ...
随机推荐
- 【HNOI模拟By lyp】Day1
1 xlk1.1 题目描述 给定一棵大小为 n 的无根树,求满足以下条件的四元组 (a, b, c, d) 的个数: 1. 1 ≤ a < b ≤ n 2. 1 ≤ c < d ≤ n 3 ...
- python any and all function
1 any 如果iterable object至少有一个元素是true的时候,返回为true.空的iterable object返回为false. 2 all 如果iterable object中的每 ...
- [Unity-21] Prefab具体解释
1.什么是Prefab? Prefab又被称为预设,以下部分来自官网:预置是一种资源类型--存储在项目视图中的一种可反复使用的游戏对象.预置能够多次放入到多个场景中. 当你加入一个预置到场景中,就创建 ...
- 9 Range 实用操作
9.1 剪切.复制和粘贴来移动数据 sourceRange.Cut [Destination] 如果指定Destination,相当于Ctrl^X(sourceRange) & Ctrl^V( ...
- bzoj2338
计算几何 我们先把所有的线段求出来,我们发现只有两个线段等长且中点重合时才能构成矩形,那么线段有n*n条,我们按中点,长度排序,然后对于一条线段扫描所有符合条件的线段计算答案,这样看起来是O(n^3) ...
- PHP cURL使用小结
cURL简介 cURL是什么? cURL(Client URL Library Functions)由 Daniel Stenberg 创建的libcurl库,官方定义为:curl is a comm ...
- redis的两种备份方式
Redis提供了两种持久化选项,分别是RDB和AOF. 默认情况下60秒刷新到disk一次[save 60 10000 当有1w条keys数据被改变时],Redis的数据集保存在叫dump.rdb一个 ...
- 64位linux安装wine等软件
我的系统是centos7 64位的,安装wine的时候以为和32位的一样,结果执行./configure的时候,出现错误(无法建立一个32位程序,您需要安装32位的开发库) configure: er ...
- 383 Ransom Note 赎金信
给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串ransom能不能由第二个字符串magazines里面的字符构成.如果可以构成,返回 true :否则返回 ...
- [转].net cookie版购物车
本文转自:http://www.sulong.cc/article/program/aspx/110613114249.html #region 添加到购物车AddShoppingCar /// &l ...