【SpringMVC 笔记】5、将数据传给页面的方法

SpringBoot如何把mysql中的数据显示到html页面上? 如果想知道最最最最详细的,可以前往:https://georgedage.blog.youkuaiyun.com/article/details/103278405 这里只对数据的返回做出一些代码演示: Controller层 package com.henu.controller; import com.henu.bean.N_days_stat; import com.henu.service.... 阅读详情

1)在方法处传入Map、Model、ModelMap

这些参数中保存的数据会放在请求域中,可以在页面获取${requestScope.msg}

  • 三者的关系:Map、Model、ModelMap最终都将数据给BindingAwareModelMap
    相当于将BindingAwareModelMap中保存的数据放在请求域中

  • 查看源码可以知道四者存在以下继承实现关系:
    ModelMap extends LinkedHashMap<String, Object>
    BindingAwareModelMap extends ExtendedModelMap
    ExtendedModelMap extends ModelMap implements Model

@RequestMapping("/handle04")
public String handle04(Map<String,Object> map){
    map.put("msg","你好");
    return "dataOut";
}
@RequestMapping("/handle05")
public String handle05(Model model){
    model.addAttribute("msg","你好");
    return "dataOut";
}
@RequestMapping("/handle06")
public String handle06(ModelMap model){
    model.addAttribute("msg","你好");
    return "dataOut";
}

2) 方法返回值为 ModelAndView对象

ModelAndView即包含数据显示页面地址,又包含模型数据(要传给页面的数据)

@RequestMapping("/handle07")
public  ModelAndView handle07(){
    //指定跳转的页面路径
    ModelAndView modelView=new ModelAndView("dataOut");
    modelView.addObject("msg","你好");
    return modelView;
}

3)SpringMVC 提供一个注解@SessionAttributes(只能标注在类上)可以让数据保存在session域中

@SessionAttributes的属性:value、types

  • 此时保存在BindingAwareModelMap和ModelAndView中指定Key或者类型(Type)的数据同时会在session域中保存一份
  • 例: @SessionAttributes(value = "msg")
    value指定Key值,于是Key值为msg的数据会在session域中也保存一份

4) Spring mvc提供注解@ModelAttribute(可用在方法和参数上)

  • 参数上:会将客户端传递过来的参数按名称(value)注入到指定对象中,并且会将这个对象自动加入BindingAwareModelMap中
  • 方法上:会在每一个@RequestMapping标注的方法前执行,如果有返回值,则自动将该返回值加入到BindingAwareModelMap中,Key值默认为返回类型的开头字母小写,也可以由ModelAttribute属性value设定

妙用:解决使用全字段更新sql语句时,部分字段不需要更新的情况

  • 例如:修改图书信息时,book对象的id,书名等不需要进行修改,若此时从页面传入的book对象不想修改的字段值为空,
    提交申请后会导致数据库中对应记录的不想修改字段的值变为null。
  • 使用@ModelAttribute注解可以从数据库中调取对应对象,再对从页面获取的非空字段进行覆盖,从而封装了一个避免更新页面传入空值字段的对象。
SpringMVC返回数据到页面的方法 在JavaWeb项目中许多项目会使用SpringMVC作为开发框架,下面将介绍几种将后台Controller控制器执行的结果返回到页面的方法。 阅读详情

相关推荐

狂神说Java SpringMVC笔记

回顾MVC ​ 回顾MVC 什么是MVC? MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范 是将业务逻辑、数据、显示分离的方法来组织代码 MVC主要作用是降低了视图与业务逻辑间的双向耦合 MVC不是一种设计模式,MVC是一种架构模式。当然不同的MVC存在差异 Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型 或JavaBean组件(包含数据和行为)不过现在一般都是分离开来:Value Object(数据Da

xiaoding520的博客 4231

Springboot+MySQL 实现从数据库获取数据展示到前端

1.运行效果 效果图如下: 2.创建数据库表 数据库名为"springboot",数据库表名为"user",数据库表里面放了5条数据,字段分别为:“id”,“name”,“age”,“email”。 3.新建SpringBoot项目 1、选择Spring Initial...

qq_45793102的博客 8612

SpringMVC后端实现页面跳转和返回数据:ModelAndView对象、String字符串、JSON格式数据

在JavaWeb项目中许多项目会使用SpringMVC作为开发框架,下面将介绍几种将后台Controller控制器执行的结果返回到页面的方法。 首先创建示例中需要用到的类、公共方法和结果显示页面。 (1)创建用户信息模型类(UserModel.java)。 package com.pjb.ssm.model; /** * 用户信息模型类 * * @author pan_junbia...

pan_junbiao的博客 4322

spring-mvc跳转根目录下的jsp文件

使用spring-mvc的视图控制器进行页面跳转时,如果页面没有放在WEB-INF下面,可以使用如下的方式进行跳转 ModelAndView mv = new ModelAndView(); mv.setViewName("redirect:/index.jsp");

chenhq_的博客 3010

springMVC如何将controller中Model数据传递到jsp页面

本篇文章主要介绍了springMVC如何将controller中Model数据传递到jsp页面,具有一定的参考价值,有兴趣的可以了解一下

【人工智能】你知道什么是DeepSeek吗?你有去了解过DeepSeek吗?新手要入门DeepSeek的必经之路——初识DeepSeek

【人工智能】初识DeepSeek 详细介绍DeepSeek以及DeepSeek-R1

蒙奇D索大的博客 3351

spring mvc转发和重定向到根index.jsp

@RequestMapping("/goIndex.action") public String goIndex(HttpServletRequest request,HttpServletResponse response){ HttpSession session = request.getSession(); String bycart = (String) session.getAt

Mr_YarNell的博客 2464

电力电子技术进阶:从基础到实战的完整学习路径

本文系统阐述了电力电子技术从基础到实战的完整学习路径。首先解析了电力电子作为“电能魔术师”的核心作用,随后深入剖析了数学工具、电路电磁场与半导体器件三大基础支柱。文章重点讲解了DC-DC、DC-AC、AC-DC等核心变换拓扑,并探讨了从经典PID到现代模型预测控制(MPC)的控制策略。最后,分享了硬件设计、软件调试、电磁兼容(EMC)等实战经验与前沿趋势,为学习者提供了清晰的进阶指南。

weixin_29204205的博客 446

Springmvc保存数据到页面的5种常用方法

HTML页面 ${requestScope.message}:只能获取request域中数据; ${message}:能获取所有域的数据。 <h3>${requestScope.message1}</h3> <h3>${requestScope.message2}</h3> <h3>${requestSco...

我爱吃红薯的博客 1379

ArcGIS小白必看:如何用3D Analyst工具将二维点线秒变三维模型(附详细步骤)

本文为ArcGIS初学者提供了利用3D Analyst工具将二维点、线数据快速转换为三维模型的完整指南。详细讲解了基于属性字段和数字高程模型(DEM)两种核心方法,并附上从数据准备、工具操作到三维场景可视化与问题排查的详细步骤,帮助用户轻松实现从平面到立体的空间数据建模。

nft7creator的博客 140

论文阅读:SuperGaussians: Enhancing Gaussian Splatting Using Primitives with Spatially Varying Colors

Gaussian Splattings 在基于高斯显式表示的多视图重建中展示出了令人印象深刻的结果。然而,当前的高斯基元只有单视图依赖的颜色和不透明度来表示场景的外观和几何形状,导致了一种非紧凑的表示。在本文中,我们引入了一种名为“超高斯(SuperGaussians)”的新方法,它在单个高斯基元中利用空间变化的颜色和不透明度来提高其表示能力。我们实现了双线性插值、移动核,甚至是小型神经网络作为空间变化函数。

m0_48319749的博客 1508

spring 笔记五 SpringMVC的数据响应

上述方式手动拼接json格式字符串的方式很麻烦,开发中往往要将复杂的java对象转换成json格式的字符串,我们可以使用web阶段学习过的json转换工具jackson进行转换,导入jackson坐标。在方法上添加@ResponseBody就可以返回json格式的字符串,但是这样配置比较麻烦,配置的代码比较多,因此,我们可以使用mvc的注解驱动代替上述配置。② 将需要回写的字符串直接返回,但此时需要通过@ResponseBody注解告知SpringMVC框架,方法。

个人博客,记录了本人学习的各种有趣的技术。 3219

nRF52382低功耗蓝牙应用开发之入门教程-软件烧录

准备工作在上一篇文章讲过了,这里就讲讲nRFgo studio的使用 硬件准备: J-link:2线 供电:3.3V 如下图打开nRFgo studio界面介绍, 2、如果J-link正常,如下图 3、如果蓝牙芯片正常 4、烧录过程,如果蓝牙芯片之前有烧录过程序,需先点擦除,再点烧录 5、烧录代码路劲,例如 F:\nRF\SDK\nRF5_SDK_15.2.0_...

LinQiPing233的博客 1945

SpringMVC的数据响应(页面跳转、回写数据)

在 SpringMVC 的各个组件中,处理器映射器、处理器适配器、视图解析器称为 SpringMVC 的三大组件。 使用自动加载 RequestMappingHandlerMapping(处理映射器)和RequestMappingHandlerAdapter(处理适配器),可用在Spring-xml.xml配置文件中使用替代注解处理器和适配器的配置。

派拉斯兔子的博客 1469

【WRF安装】完整自动化 WRF-ARW/WRF-Chem 安装脚本(多服务器测试)

【WRF安装】完整自动化 WRF-ARW/WRF-Chem 安装脚本(多服务器测试)

WW、forever的博客 284

AES加密算法及AES-CMAC原理白话版系统解析

对AES不同加密算法,加密模式,加密原理,填充算法及AES-CMAC算法的详细系统介绍,帮助大家对AES进行系统掌握。

initiallizer的博客 4068

SpringMVC向页面传递数据的五种方法

SpringMVC,既然被称作MVC,那么它肯定也包含一系列的,从页面请求到业务逻辑一整套的完整的流程,今天给大家介绍一下SpringMVC向页面传递数据的五种方式。第一种:使用ModelMapModelMap对象主要用于传递控制方法传递数据到结果页面。取值的时候可以直接使用EL表达式输出存放的key值。代码如下:    @RequestMapping("/test1") public Strin...

qq_41450893的博客 1533

关于红队方面的学习资料

关于红队方面的学习资料

Sumarua的博客 1084

SpringMVC数据页响应ModelAndView之页面跳转

目录SpringMVC的数据响应SpringMVC的数据响应方式①页面跳转②回写数据2、返回ModelAndView对象方式1:直接new对象 方式2:写在方法里让SpringMVC创建方式3:model和view分开做方式4:通过HttpServletRequest页面跳转1、返回字符串形式直接返回字符串:此种方式会将返回的字符串与视图解析器的前后缀拼接后跳转。 返回带有前缀的字符串: 2、返回ModelAndView对象 方式1:直接new对象 方式3:model和vi

weixin_60719453的博客 4453

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

SpringMVC学习笔记

学习笔记

2301_80073794的博客 1777

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

SpringMVC的数据响应(一)

SpringMVC的数据响应(一)

楠黎倾风的博客 3万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

SpringMVC的向页面传递数据方式

1.使用model传递数据 @RequestMapping("/selBook.do") private String selBook(Model model) { Book book=new Book(1,"简爱","夏洛蒂·勃朗特",122.12,"2019-9-9"); model.addAttribute("book", book); return "book_list"...

游王子og的博客 614

springMVC向页面传值

springMVC向页面传值     (1)使用request绑订数据     (2)使用ModelAndView     (3)使用ModelMap     (4)使用session绑订数据 具体见代码: HelloController.java package controller; import java.util.HashMap; import java.util.

龙腾四海365的专栏 1417

springmvc跳转页面的方法

springMvc--请求的跳转和传值 forword跳转页面的三种方式 1.使用serlvet /** * 使用forward跳转,传递基本类型参数到页面 * 注意: * 1.使用servlet原生API Request作用域 * */ @RequestMapping("/test")...

plumblum的博客 8582

SpringMVC-学习笔记04【SpringMVC返回值类型及响应数据类型】

SpringMVC-学习笔记04【SpringMVC返回值类型及响应数据类型】

upward 1286

[记录学习]自学动力节点荣姐SpringMVC5笔记

SpringMVC5 学习笔记

sls1223074612的博客 4978
上一篇: 【SpingMVC 笔记】4、数据输出${requestScope.msg}获取不到值的解决方法
下一篇: 【SpringMVC 笔记】6、请求处理的大致流程
JJ_Notebook
博客等级 码龄7年 1粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值