SpringMVC数据输出相关知识总结

 更新时间:2021年06月06日 11:24:49   作者:油炸冰可乐  
今天带大家学习SpringMVC的相关知识,文中对SpringMVC数据输出作了非常详细的代码示例,对正在学习的小伙伴们很有帮助,需要的朋友可以参考下

一、数据输出

SpringMVC将数据携带给页面的储存工具,有三种,map,ModelMap,model,它们在底层实质还是使用到了BindingAwareModelMap,对数据进行存储:

在这里插入图片描述

此外,也可以使用ModelAndView携带数据回传页面,实现代码如下

/**
 * 向页面回传数据显示 handle01/02/03
 * 使用 model map modelMap 回传数据 放置在request中
 */
@RequestMapping("/handle01")
public String handler01(Map<String, String> map) {
    map.put("msg","你好1!");
    return "success";
}

@RequestMapping("/handle02")
public String handler02(Model model) {
    model.addAttribute("msg","你好2");
    return "success";
}

@RequestMapping("/handle03")
public String handler03(ModelMap modelMap) {
    modelMap.addAttribute("msg","你好3");
    return "success";
}

/**
 * modelAndView 携带数据
 */

@RequestMapping("/handle04")
public ModelAndView handler(){
    ModelAndView mv = new ModelAndView("success");
    mv.addObject("msg","你好04");
    return mv;
}

二、@ModelAttribute注解

使用@ModelAttribute注解,可以得到请求参数中的某个对象,而不是自己new出来的对象,所有带有ModelAttribute注解的方法都会提前于目标方法运行,将对象放置在request域中,然后在目标方法中获取,代码示例:

// 先于目标方法执行,获取了数据库中的斗个对象的信息
@ModelAttribute
public void hahaMyModelAttribute(Map<String, Object> map){
        
Book book = new Book(100, "西游记", "吴承恩", 98, 10, 98.98);
    System.out.println("数据库中查到的图书信息是:"+book);
    map.put("haha", book);
    b1 = book;
    o1 = map;
    System.out.println("modelAttribute方法...查询了图书并给你保存起来了...他用的map的类				型:"+map.getClass());
    }
}

// 目标方法,在目标方法中使用查询到的对象
@RequestMapping("/updateBook")
public String updateBook(@ModelAttribute("haha")Book book,Map<String, Object> model){
    o2 = model;
    b2  = book;
    Object haha = model.get("haha");
    //System.out.println("传入的model:"+model.getClass());
    System.out.println("o1==o2?"+(o1 == o2));
    System.out.println("b1==b2?"+(b1 == b2)+"-->"+(b2 == haha));
     System.out.println("页面要提交过来的图书信息:"+book);
    return "success";
    }

这样做的好处在于,避免了全字段修改,不给值的地方Spring会默认使用null进行代替,这回在修改之前每个键值对都有值。

到此这篇关于SpringMVC数据输出相关知识总结的文章就介绍到这了,更多相关SpringMVC数据输出内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring使用redis遇到的问题及解决方案

    Spring使用redis遇到的问题及解决方案

    这篇文章主要介绍了Spring使用redis遇到的问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Java关键字instanceof的两种用法实例

    Java关键字instanceof的两种用法实例

    这篇文章主要介绍了Java关键字instanceof的两种用法实例,本文给出了instanceof关键字用于判断一个引用类型变量所指向的对象是否是一个类(或接口、抽象类、父类)及用于数组比较,需要的朋友可以参考下
    2015-03-03
  • Java的JSON格式转换库GSON的初步使用笔记

    Java的JSON格式转换库GSON的初步使用笔记

    GSON是Google开发并在在GitHub上开源的Java对象与JSON互转功能类库,在Android开发者中也大受欢迎,这里我们就来看一下Java的JSON格式转换库GSON的初步使用笔记:
    2016-06-06
  • 解决maven clean报错:Failed to delete xxxxx\target\xxxx.jar

    解决maven clean报错:Failed to delete xxxxx\t

    这篇文章主要介绍了解决maven clean报错:Failed to delete xxxxx\target\xxxx.jar问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Java中时间戳的获取和转换的示例分析

    Java中时间戳的获取和转换的示例分析

    这篇文章主要介绍了Java中时间戳的获取和转换的示例分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • 使用Apache POI在Java中实现Excel单元格的合并

    使用Apache POI在Java中实现Excel单元格的合并

    在日常工作中,Excel是一个不可或缺的工具,尤其是在处理大量数据时,本文将介绍如何使用 Apache POI 库在 Java 中实现 Excel 单元格的合并,需要的可以了解下
    2025-03-03
  • SpringMVC RESTFul及REST架构风格介绍

    SpringMVC RESTFul及REST架构风格介绍

    这篇文章主要为大家介绍了SpringMVC RESTFul及REST架构风格介绍,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • springboot docker jenkins 自动化部署并上传镜像的步骤详解

    springboot docker jenkins 自动化部署并上传镜像的步骤详解

    这篇文章主要介绍了springboot docker jenkins 自动化部署并上传镜像的相关资料,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • 使用java -jar命令启动Spring Boot应用时指定特定配置文件的几种实现方式

    使用java -jar命令启动Spring Boot应用时指定特定配置文件的几种实现方式

    这篇文章主要介绍了在使用java-jar命令启动SpringBoot应用时,指定特定配置文件的几种方式,文中通过代码介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2025-01-01
  • Java操作redis实现增删查改功能的方法示例

    Java操作redis实现增删查改功能的方法示例

    这篇文章主要介绍了Java操作redis实现增删查改功能的方法,涉及java操作redis数据库的连接、设置、增删改查、释放资源等相关操作技巧,需要的朋友可以参考下
    2017-08-08

最新评论