SpringMVC 中Model、ModelMap和ModelAndView的区别和用法

SpringMVC中Model,ModelAndView,ModelMap的区别 目录前言`Model` 前言 在 springMVC 请求处理方法返回的参数类型中,最重要就是 Model 和 ModelAndView了。使用 Model 和 ModelAndView 这两者之间有着很大的区别 Model 只是用来传输数据的,并不会进行业务的寻址 ModelAndView 却是可以进行业务寻址的,就是设置对应的要请求的静态文件,这里的静态文件指的是类似 jsp 的文件 Model Model 是一个接口,实现类为 ExtendedModelMap 和 ModelMap。Model 本 阅读详情

spring MVC 提供了以下几种途径输出模型数据:

ModelAndView:处理方法返回值类型为 ModelAndView时, 方法体即可通过该对象添加模型数据
Map及Model:入参为org.springframework.ui.Model、org.springframework.ui.ModelMap或 java.uti.Map时,处理方法返回时,Map 中的数据会自动添加到模型中。
@SessionAttributes: 将模型中的某个属性暂存到 HttpSession 中,以便多个请求之间可以共享这个属性
@ModelAttribute: 方法入参标注该注解后, 入参的对象就会放到数据模型中

ModelAndView

概述

控制器处理方法的返回值如果为 ModelAndView, 则其既包含视图信息,也包含模型数据信息。

添加模型数据:

MoelAndView addObject(String attributeName, Object attributeValue)
ModelAndView addAllObject(Map< String, ?> modelMap )
设置视图:

void setView(View view )
void setViewName(String viewName)

import java.util.HashMap;
import java.util.Map;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
@RequestMapping(value = "/return")
public class LearnReturnType {

    /**
     * Model本身不能设置页面跳转的url地址别名或者物理跳转地址,那么我们可以通过控制器方法的返回值来设置跳转url
     * 地址别名或者物理跳转地址
     * 
     * @param model
     *            一个接口, 其实现类为ExtendedModelMap,继承了ModelMap类
     * @return 跳转url地址别名或者物理跳转地址
     */
    @RequestMapping(value = "/index1")
    public String index1(Model model) {
        model.addAttribute("result", "后台返回index1");
        return "result";
    }

    /**
     * ModelMap对象主要用于传递控制方法处理数据到结果页面,类似于request对象的setAttribute方法的作用。 用法等同于Model
     * 
     * @param model
     * @return 跳转url地址别名或者物理跳转地址
     */

    @RequestMapping(value = "/index2")
    public String index2(ModelMap model) {
        model.addAttribute("result", "后台返回index2");
        return "result";
    }

    /**
     * ModelAndView主要有两个作用 设置转向地址和传递控制方法处理结果数据到结果页面
     * @return 返回一个模板视图对象
     */
    @RequestMapping(value = "/index3")
    public ModelAndView index3() {
        ModelAndView mv = new ModelAndView("result");
        // ModelAndView mv = new ModelAndView();
        // mv.setViewName("result");
        mv.addObject("result", "后台返回index3");
        return mv;
    }

    /**
     * map用来存储递控制方法处理结果数据,通过ModelAndView方法返回。
     * 当然Model,ModelMap也可以通过这种方法返回
     * @return 返回一个模板视图对象
     */
    @RequestMapping(value = "/index4")
    public ModelAndView index4() {
        Map<String, String> map = new HashMap<String, String>();
        map.put("result", "后台返回index4");
        return new ModelAndView("result", map);
    }
}

其他案例:http://blog.youkuaiyun.com/top_code/article/details/51345822

逆向淘宝x-mini-wua:从加密算法到设备指纹的生成逻辑 本文深入剖析了淘宝风控核心参数x-mini-wua的生成逻辑与加密算法。通过逆向分析,揭示了其作为设备“身份证”的作用,详细拆解了从硬件信息采集、SG_INNER_DATA文件解密、关键参数提取到最终长wua合成的完整技术链条,并探讨了模拟生成与绕过风控的实战思路及注意事项。 阅读详情

相关推荐

【黑马点评优化】2-Canel实现多级缓存(Redis+Caffeine)同步

【黑马点评优化】2-Canel实现多级缓存(Redis+Caffeine)同步

m0_52031708的博客 3844

Model和ModelAndView的区别,以及使用详解

1.前言 最近SSM框架开发web项目,用得比较火热。spring-MVC肯定用过,在请求处理方法可出现和返回的参数类型中,最重要就是Model和ModelAndView了,对于MVC框架,控制器Controller执行业务逻辑,用于产生模型数据Model,而视图View用于渲染模型数据。 使用Model和ModelAndView这...

yuanchangliang的博客 7851

Linux 命令之 locale -- 设置和显示程序运行的语言环境

文章目录命令介绍locale 设置规则使用详解(一)查看当前 locale 设置(二)查看当前系统所有可用 locale(三)设置系统的 locale 命令介绍 locale 是 Linux 系统中多语言环境的设置接口,在 Linux 中,使用 locale 命令来设置和显示程序运行的语言环境,locale 会根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统定义一个软件运行时的语言环境。 通过 locale 来设置程序运行的不同语言环境,locale 由ANSI C提供支持。locale 的

liaowenxiong的博客 3万+

SpringMVC中的Model和ModelAndView区别

SpringMVC中的Model和ModelAndView区别

qq_19891197的博客 1017

自动驾驶关键技术(一):时间敏感网络TSN

时间敏感网络TSN的基本概念、协议族介绍和开发流程。

3079

STC15单片机双串口通信实战:串口2配置与多设备交互

本文详细介绍了STC15单片机双串口通信的实战配置,重点解析串口2的硬件连接、寄存器设置及多设备交互实现。通过实际项目案例和完整代码示例,帮助开发者快速掌握STC15串口2的配置技巧,解决常见通信问题,提升嵌入式系统开发效率。

weixin_29174013的博客 255

Model和ModelAndView

Model和ModelAndView的区别。

qq_64497094的博客 873

告别手动转换!用腾讯云轻量服务器+QMT插件,5分钟搞定聚宽策略实盘(附完整源码)

本文详细介绍如何利用腾讯云轻量服务器和QMT插件快速实现聚宽策略的自动化实盘部署。通过云端信号中转站解决协议转换、信号缓存等核心问题,5分钟完成服务器配置,并附完整源码实现零改造实盘方案,显著提升量化交易效率。

weixin_28707739的博客 659

springMVC中的ModelAndView,Model,ModelMap

写在前面 本文基于springboot环境来进行测试,没有这个环境的,可以参考这里,隔空????这位同学的用心总结。下面我们正式开始。 1:整体分析 先看下ModelAndView源码: public class ModelAndView { // 逻辑视图地址 @Nullable private Object view; // 数据 @Nullable private ModelMap model; } 其中的Object view代表的就是视图,在jsp环境中

wang0907的博客 2616

ISP模块之色彩增强算法--HSV空间Saturation通道调整

色彩增强不同于彩色图像增强,图像增强的一般处理方式为直方图均衡化等,目的是为了增强图像局部以及整体对比度。而色彩增强的目的是为了使的原有的不饱和的色彩信息变得饱和、丰富起来。对应于Photoshop里面的“色相/饱和度”调节选项里面对饱和度的操作。色彩增强的过程,并不改变原有彩色图像的颜色以及亮度信息。     在我的色彩增强算法模块里面,始终只针对色彩饱和度(Saturation)信息做研究,

松间明月 1万+

点云欧式聚类快速了解

一种基于欧氏距离度量的聚类算法基于KD-Tree的近邻查询算法是加速欧式聚类算法的重要预处理方法KD-Tree是由二分搜索树演变而来的用于大规模高维度数据查找场景当中的索引结构,主要用于最近邻查找和近似最近邻查找。将整个空间划分为二叉树的形式,方便有效找到最近邻点云处理算法库PCL,是比较重要的,在后续会继续学习,然后发出更优质的文章。

xiaobaiwsc的博客 1722

SpringMVC Day 05 : Spring 中的 Model

欢迎来到 SpringMVC 系列教程的第五天!在之前的教程中,我们已经学习了如何使用控制器处理请求和返回视图。今天,我们将深入探讨 Spring 中的 Model。在 Web 应用程序开发中,数据的传递和展示是非常重要的。SpringMVC 提供了一个名为 Model 的机制,用于在控制器和视图之间传递数据。Model 在 SpringMVC 中充当着数据容器的角色,它可以存储和传递各种类型的数据,例如对象、集合、基本类型等。

zhiqiuqiu2的博客 2437

利用 AI 自动生成 BDD(行为驱动开发)格式的 Gherkin 测试用例

文章摘要 当前BDD测试领域正经历AI驱动的变革浪潮。传统Gherkin用例编写面临四大痛点:语法负担重、场景发现成本高、一致性差和维护困难。2025-2026年,AI生成Gherkin的工具生态快速成熟,主要分为五类:测试管理平台内置AI(如TestRail 10.2)、Jira插件(如AssertThat BDD)、独立AI平台(如PrimeCompass)、CLI工具和研究原型。其中,TestRail实现生成-执行闭环,AssertThat采用多阶段Agent工作流提升质量,PrimeCompass则

ZXSXJ的博客 205

SpringMvc -- ModelAndView和Model和ModelMap之间的区别

SpringMvc 学习 – ModelAndView和Model和ModelMap之间的区别 前言 model modelAndView ModeMap MODEL Model 是一个接口, 其实现类为ExtendedModelMap,继承了ModelMap类。 ModelMap 基本看到上面的Model接口实现类,继承了ModelMap就应该理解了。Model接口的传参,其实...

寿春 626

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

SpringMVC中返回数据Model,ModelAndView,ModelMap的区别

controller层的方法处理完后要返回视图,SpringMVC支持如下的返回方式:  ModelAndView, Model, ModelMap, Map,View, String, void 1.ModelAndView @RequestMapping("/show1") public ModelAndView show1(HttpServletRequest reque

WannaRunning的博客 4294

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

springMVC Model ModelMap 和 ModelAndView的区别

近来在看代码,发现controller里有不同的处理返回数据的方式,而自己一直在用ModelAndView在处理数据,对于其他的方式也零星用过,但是总感觉不明白其中的区别,也就写了这篇博客总结一下: 简单来说: Model是包含四个addAttribute 和一个 merAttribute方法的接口。 ModelMap :实现了Map接口,包含Map方法。视图层通过request找到Mod

maoyeqiu的专栏 2万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

SpringMVC框架中ModelAndView、Model、ModelMap的区别与使用

SpringMVC框架中ModelAndView、Model、ModelMap的区别与使用

Java仗剑走天涯 1万+

SpringMVC Model、ModelMap和ModelAndView的区别和用法

package com.learndemo.controller; import java.util.HashMap; import java.util.Map; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.u...

3667

springmvc Model ModelMap 和 ModelAndView的区别

SPRING框架中ModelAndView、Model、ModelMap区别 注意:如果方法声明了注解@ResponseBody ,则会直接将返回值输出到页面。首先介绍ModelMap[Model]和ModelAndView的作用Model 是一个接口, 其实现类为ExtendedModelMap,继承了ModelMap类。 ModelMapModelMap对象主要用于传递控制方法处理数据到结果页

lvcong60601413的博客 433

SpringMVC Model、ModelMap和ModelAndView的区别和用法

package com.learndemo.controller;import java.util.HashMap; import java.util.Map;import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.ui.Mode

左手121 1万+

springMVC Model、 ModelMap 和 ModelAndView的区别

简单来说: Model是包含四个addAttribute 和一个  merAttribute方法的接口。 ModelMap :实现了Map接口,包含Map方法。视图层通过request找到ModelMap中的数据。 ModelAndView:是包含ModelMap 和视图对象的容器。正如名字暗示的一样既包含模型也包含视图,而ModelMap只是包含模型的信息。 Mo

走向资深架构师的旅程 5204
上一篇: struts2中 ServletActionContext与ActionContext区别
下一篇: SpringMVC获取url参数的方法
broccoli2
博客等级 码龄10年 404粉丝 195原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值