首页 > 其他分享 >SpringMvc 响应数据传出

SpringMvc 响应数据传出

时间:2023-04-18 22:34:31浏览次数:30  
标签:SpringMvc 方法 模型 响应 ModelAttribute 注解 传出 ModelAndView 数据

SpringMVC 输出模型数据概述

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

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

image.png

处理模型数据之 ModelAndView

  • ①控制器处理方法的返回值如果为 ModelAndView, 则其既包含视图信息,也包含模型数据信息。
  • ②添加模型数据: MoelAndView addObject(String attributeName, Object attributeValue) ModelAndView addAllObject(Map<String, ?> modelMap)
  • ③设置视图: void setView(View view) void setViewName(String viewName)
**
 * 目标方法的返回类型可以是ModelAndView类型
 *                 其中包含视图信息和模型数据信息
 */
@RequestMapping("/testModelAndView")
public ModelAndView testModelAndView(){
System.out.println("testModelAndView");
String viewName = "success";
ModelAndView mv = new ModelAndView(viewName );
mv.addObject("time",new Date().toString()); //实质上存放到request域中 
return mv;
}
  • SpringMVC提供了一种可以临时给Session域中保存数据的方式;使用一个注解@sessionAttributes(只能标在类上) @sessionAttributes (value="msg") 给BindingAwareModelMap中保存的数据或者ModelAndView中的数据,同时给session中放一份;value指定保存数据时要给session中放的数据的key

@sessionAttributes (value="msg") @SessionAttributes (value={"msg","msg2"}) //保存值同时放在sesson中 @Controller public class demo(){}

  • 给放 session 用原生api

@ModelAttribute注解

  • 在方法定义上使用 @ModelAttribute 注解:Spring MVC 在调用目标处理方法前,会先逐个调用在方法级上标注了 @ModelAttribute 的方法。
  • 在方法的入参前使用 @ModelAttribute 注解:可以从隐含对象中获取隐含的模型数据中获取对象,再将请求参数绑定到对象中,再传入入参
  • 将方法入参对象添加到模型中

image.png image.png

  • ModelAttributeMap image.png

标签:SpringMvc,方法,模型,响应,ModelAttribute,注解,传出,ModelAndView,数据
From: https://blog.51cto.com/u_15993308/6204098

相关文章

  • day12_响应状态码
    一、状态码大类状态码分类说明1xx响应中——临时状态码,表示请求已经接受,告诉客户端应该继续请求或者如果它已经完成则忽略它2xx成功——表示请求已经被成功接收,处理已完成3xx重定向——重定向到其它地方:它让客户端再发起一个请求以完成整个处理。4xx客户端......
  • 响应拆分漏洞
    1、介绍典型的响应拆分漏洞,是指攻击者可以控制参数,使得受害者用户的浏览器接收到的响应头部字段的名称或值被拆分成多个字段。一般,在网络传输中,http的头部字段以\r\n结尾。但是如果响应字段中,包含攻击者控制的参数,本身存在\r\n,那么传输给用户客户端后,会被解析出下一个响应字段。......
  • springboot统一响应实体封装+统一异常类管理
    前言:在日常前后端分离的接口开发过程中,需要我们按相应的格式给前端返回响应的数据,常见的方式就是我们后端自己封装一个包装类,每次返回给前端数据的时候都需要我们自己手动构建一。短时间内来看或许并没有什么,但是一旦接口量变大,我们每个接口都去构建返回值的话,那样就会浪费......
  • Vue3 回顾vue2的响应式原理
    视频vue2.x的响应式实现原理:对象类型:通过Object.defineProperty()对属性的读取、修改进行拦截(数据劫持)。数组类型:通过重写更新数组的一系列方法来实现拦截。(对数组的变更方法进行了包裹)。Object.defineProperty(data,'count',{get(){},set(){}})......
  • 考虑需求侧响应的微电网多目标经济运行 建立了含风光储荷的微电网模型
    考虑需求侧响应的微电网多目标经济运行 建立了含风光储荷的微电网模型,以发电侧成本(包括风光储以及电网的购电成本)和负荷侧成本最小为目标,考虑功率平衡以及储能SOC约束,建立了多目标优化模型,通过分时电价引导负荷需求侧响应,得到可削减负荷量,同时求解模型,得到风光储以及电网的运......
  • 在线客服系统对接第三方搜索接口,将发访客消息GET请求指定的url,并将响应内容返回给访客
    为了扩展默认的自动回复机器人功能,特意在后台新加了一个webhook。那就是当填入webhook地址以后,会把访客的消息内容GET拼接请求到webhook的网址后面,这样就把信息转发到了该接口。该接口,拿到访客消息,自行编写搜索逻辑(例如对接elk,自行对接gpt),把响应的内容返回来。访客端直接展示......
  • [全程建模]一个国内著名出版社邀请我写书的响应之二
    对方来信,而且很有深度。我觉得著书立说是有意义的,但一定要写一本畅销书才能意义,因为这东西和凡高的画不同,艺术即使在很多年内都不被理解,但仍有可能在很多年后被理解,而技术书则必须在当时就得到认可,而无法指望很多年后又突然畅销起一本几十年前的技术书。所以,技术书要想有......
  • [全程建模]一个国内著名出版社邀请我写书的响应
    引言这里是相关邮件的内容对话,对话中我隐去了这个出版社的信息,以免造成不必要的麻烦,希望大家理解,可以告诉大家的是这个出版社在国内是非常有影响力的。第一封信:青润:  你好。我是**出版社的策划编辑。你所写的书《软件工程之全程建模》距离今天已经有三年时间了,相信你又有新的认......
  • 根据负荷响应特性将需求响应分为价格型和替代型 2 类,分别建立了基于价格弹性矩阵的价
    MATLAB代码碳交易机制   需求响应  综合能源系统 优化运行首先,根据负荷响应特性将需求响应分为价格型和替代型2类,分别建立了基于价格弹性矩阵的价格型需求响应模型,及考虑用能侧电能和热能相互转换的替代型需求响应模型;其次,采用基准线法为系统无偿分配碳排放配额,并......
  • 基于模型预测控制的楼宇负荷需求响应研究
    基于模型预测控制的楼宇负荷需求响应研究参考文档:《ModelPredictiveControlofThermalStorageforDemandResponse》完全复现主要内容:代码主要做的是一个建筑楼宇的需求响应问题,模型的求解采用的是较为创新的模型预测控制,代码非常精品YID:9450674156989600......