Spring中Model,ModelMap以及ModelAndView之间的区别

1.场景分析

在许多实际项目需求中,后台要从控制层直接返回前端所需的数据,这时Model大家族就派上用场了。

2.三者区别

Model

Model是一个接口,它的实现类为ExtendedModelMap,继承ModelMap类

public class ExtendedModelMap extends ModelMap implements Model

ModelMap

ModelMap继承LinkedHashMap,spring框架自动创建实例并作为controller的入参,用户无需自己创建

public class ModelMap extends LinkedHashMap

ModelAndView

顾名思义,ModelAndView指模型和视图的集合,既包含模型 又包含视图;ModelAndView的实例是开发者自己手动创建的,这也是和ModelMap主要不同点之一;

Model的用法

spring自动为Model创建实例,并作为controller的入参

@RequestMapping("hello")publicString testVelocity(Model model,String name){

model.addAttribute("name",name);return "hello";

}

测试效果:

ModelMap与model用法差不多

@RequestMapping("hello")publicString testVelocity(ModelMap model,String name){

model.addAttribute("name",name);return "hello";

}

这里效果跟Model运行效果一样

ModelAndView的用法:

@RequestMapping("model")publicModelAndView testModel(String name) {//构建ModelAndView实例,并设置跳转地址

ModelAndView view = new ModelAndView("test");//将数据放置到ModelAndView对象view中,第二个参数可以是任何java类型

view.addObject("name",name);//返回ModelAndView对象view

returnview;

}

设置view跳转地址

ModelAndView view = new ModelAndView("test");

当然还可以这样设置跳转地址

ModelAndView view = newModelAndView();

view.setViewName("test");

中的test表示templates中的test.html,springboot默认的模版文件一般都在resources/templates下

前端接modelmap的list_Model、ModelMap和ModelAndView的使用详解相关推荐

  1. Model、ModelMap和ModelAndView的使用详解

    1.前言 最近SSM框架开发web项目,用得比较火热.spring-MVC肯定用过,在请求处理方法可出现和返回的参数类型中,最重要就是Model和ModelAndView了,对于MVC框架,控制器Co ...

  2. win10计算机恢复到一天前,Win10恢复电脑(刷新电脑)的方法步骤图文详解

    注:本教程同样适用于Win8.1系统 有时候,遇到Win10系统出现了比较严重的问题,那么这时有比重装系统更好的办法就是"恢复电脑(刷新电脑)".因为重装系统就会丢失之前系统的个人 ...

  3. springmvc之ModelAndView的使用详解

    一.前言 ModelAndView类用来存储处理完后的结果数据,以及显示该数据的视图,其中Model代表模型,View代表视图.业务处理器调用模型层处理完用户请求后,把结果数据存储在该类的model属 ...

  4. ajax modelmap,Spring MVC ModelMap.md

    近来发现controller里有不同的处理返回数据的方式,其中包括ModelMap不明白是如何处理数据返回的,所以在此记录如下: 1.说到如何处理返回数据,要涉及到jsp的九大内置对象及其作用域 2. ...

  5. Java render用法_SpringMVC ModelAndView的用法使用详解

    (一)使用ModelAndView类用来存储处理完后的结果数据,以及显示该数据的视图.从名字上看ModelAndView中的Model代表模型,View代表视图,这个名字就很好地解释了该类的作用.业务 ...

  6. 详解 AJAX-SpringBoot 前后端数据交互

    详解 AJAX-SpringBoot 前后端数据交互 1. Ajax 概述 Ajax 的英文全称是 "Asynchronous JavaScript and XML",即 &quo ...

  7. ajax配合ssm框架,SSM框架前后端信息交互实现流程详解

    SSM框架前后端信息交互实现流程详解 比如该处代码,显示了问题的标题信息,并将其作为超链接,点击该链接时进入后端Controller类的方法,并向其发送问题编号question_id 3.ajax请求 ...

  8. php sprintf 后面补0,PHP数字前补0的自带函数sprintf 和number_format的用法(详解)

    下面小编就为大家带来一篇PHP数字前补0的自带函数sprintf 和number_format的用法(详解).小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 很多时候我们 ...

  9. php 两个单词 正则表达式字符前_PHP正则表达式核心技术完全详解 第3节

    PHP 正则表达式核心技术详解 第3节 我们在第2节中学习了有关正则的原子.元字符.原子表.转义字符等重要知识点, 这一节我们来讲一下正则中的量词.断言匹配.逻辑匹配.等重要知识! 1 量词 量词: ...

最新文章

  1. 2018 百越杯 pwn(Boring Game Write up)
  2. 概率密度函数pdf(probability densinity function) DOC API
  3. SQL语句遍历树结构的数据表
  4. Qt for ios 设置程序显示名称
  5. jdk8中对HashMap做了哪些改变?
  6. 什么是 SAP HCEA
  7. 定时创建oracle索引,oracle数据库关于索引建立及使用的详细介绍
  8. Java基础知识(数据类型和集合)
  9. 43大学计算机信息技术查询,大学计算机信息技术教程
  10. IOS开发网络篇之──ASIHTTPRequest详解
  11. 安装libvirt管理套件(C/S架构模式,用户管理kvm虚拟机)
  12. 记休产假前的一些杂想
  13. 2#使用新安装的ubuntu,之vim必须知道的细节
  14. 理正深基坑弹性计算方法_理正深基坑软件应用全参数说明书
  15. win10应用商店里的应用提取
  16. 【JavaSE系列】基础经典编程题
  17. rk3288 MINILOADERALL生成
  18. Error instantiating servlet class 的解决办法
  19. 单向链表中查找倒数第K个数
  20. 美大学推开源赞助计划 DIY机器人你也办得到

热门文章

  1. winhex手工数据恢复教程-李林峰-专题视频课程
  2. 找出单身狗_只出现一次的数字Ⅲ
  3. mysql截取字符串去重,mysql 截取字符串 去重 拼接
  4. win10开机后桌面图标乱了?
  5. 首页攻略运营篇(4):资源管理与运营技巧
  6. android布局图片铺面,百货商店日记布局百货布局图攻略
  7. 安装lsof命令和使用明细
  8. 【leetcode 929】独特的电子邮件地址
  9. JDK8新特性详解LambdaStream
  10. 【JavaScript】日期格式化