我的编程空间,编程开发者的网络收藏夹
学习永远不晚

使用springmvc怎么对模型数据进行处理

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

使用springmvc怎么对模型数据进行处理

使用springmvc怎么对模型数据进行处理?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

springmvc提供了四种方式来输出模型数据

  • ModelAndView: 处理返回值为ModelAndView时,可以将该对象中添加数据模型

  • Map及Model:入参为Model、ModelMap或Map时,处理方法返回时,Map中的数据会自动添加到模型中

  • @SessionAttributes: 将模型中的某个属性暂存到HttpSession中,以便多个请求之间共享数据

  • @ModelAttribute: 方法入参标注该注解后,入参的对象就会放到数据模型中

ModelAndView

主要有两个重要的变量

// 视图 可以传字符串(视图名字)也可以传View对象private Object view;// 数据模型 本质是一个mapprivate ModelMap model;

视图相关的方法

// 设置视图public void setViewName(String viewName) { this.view = viewName;}// 获取视图public String getViewName() { return this.view instanceof String ? (String)this.view : null;}

数据模型相关方法

// 获取数据模型protected Map<String, Object> getModelInternal() { return this.model;}public ModelMap getModelMap() { if (this.model == null) { this.model = new ModelMap(); } return this.model;}public Map<String, Object> getModel() { return this.getModelMap();}// 添加视图模型public ModelAndView addObject(String attributeName, Object attributeValue) { this.getModelMap().addAttribute(attributeName, attributeValue); return this;}

springmvc底层使用request.setAttribute(name,value)来将数据放入到请求中

示例:

@RequestMapping("/modelAndViewTest")public ModelAndView modelAndViewTest(){ // 视图名 ModelAndView modelAndView = new ModelAndView("modelAndViewTest"); // 包含的数据 modelAndView.addObject("dateTime",new Date()); return modelAndView;}

Map及Model

@RequestMapping("/mapTest")public String mapTest(Map<String,String> map){ System.out.println(map.getClass()); //class org.springframework.validation.support.BindingAwareModelMap map.put("name","张三"); return "hello";}

@SessionAttributes

在类上添加@SessionAttributes可以使该类所代表的路径下的session共享

@Controller@RequestMapping("helloWorld")// 设置name属性共享@SessionAttributes(value={"name"})public class HelloWorldController { @RequestMapping("/mapTest") public String mapTest(Map<String,String> map){ System.out.println(map.getClass()); //class org.springframework.validation.support.BindingAwareModelMap map.put("name","张三"); return "hello"; } // 可以在该方法中获取到name值为张三 @RequestMapping("/sessionAttributes") public String sessionAttributes(HttpSession session){ System.out.println(session.getAttribute("name")); return "hello"; }}

@ModelAttribute

用在无返回值的方法

package com.yiidian.controller;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.ModelAttribute;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;@Controllerpublic class ModelAttributeController {    //没有返回值的情况  @ModelAttribute  public void myModel(@RequestParam(required = false) String name, Model model) {    model.addAttribute("name", name);  }  @RequestMapping(value = "/model")  public String model() {    return "success";  }}

用在带返回值的方法

package com.yiidian.controller;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.ModelAttribute;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;@Controllerpublic class ModelAttributeController {    @ModelAttribute("name")  public String myModel(@RequestParam(required = false) String name) {    return name;  }  @RequestMapping(value = "/model")  public String model() {    return "success";  }}

应用在方法的参数上

@ModelAttribute("name")public String myModel(@RequestParam(required = false) String name) {  return name;}//应用在方法的参数行@RequestMapping(value = "/model")public String model(@ModelAttribute("name") String name) {  System.out.println("name="+name);  return "success";}

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

使用springmvc怎么对模型数据进行处理

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

使用springmvc怎么对模型数据进行处理

使用springmvc怎么对模型数据进行处理?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。springmvc提供了四种方式来输出模型数据ModelAndView
2023-06-06

使用SpringMVC怎么实现对数据进行校验

使用SpringMVC怎么实现对数据进行校验?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、导入jar包若要实现数据校验功能,需要导入必要的jar包,主要包括以下几个:c
2023-05-31

使用python怎么对表格数据进行处理

这篇文章给大家介绍使用python怎么对表格数据进行处理,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python对Excel表格的处理首先我们看一个最简单的情况,我们先不考虑性能的问题,那么我们可以使用xlrd这个工
2023-06-14

使用SpringMVC怎么对Swagger进行整合

这篇文章将为大家详细讲解有关使用SpringMVC怎么对Swagger进行整合,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。配置1、引入相关jar包:
2023-05-31

python怎么对csv数据进行处理

Python中可以使用csv模块来对csv数据进行处理。以下是一个示例代码,演示了如何读取csv文件、写入csv文件以及对数据进行处理。import csv# 读取csv文件with open('data.csv',
python怎么对csv数据进行处理
2024-02-29

java如何对clob类型数据进行处理

在Java中,可以使用`java.sql.Clob`接口来对CLOB类型数据进行处理。以下是一些常见的处理方法:1. 读取CLOB数据:可以使用`Clob`接口的`getCharacterStream()`方法获取CLOB数据的字符流,然后
java如何对clob类型数据进行处理
2023-10-30

Python怎么用jmespath模块进行json数据处理

今天小编给大家分享一下Python怎么用jmespath模块进行json数据处理的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧
2023-06-29

怎么使用NumPy进行数组数据处理

本篇内容主要讲解“怎么使用NumPy进行数组数据处理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用NumPy进行数组数据处理”吧!介绍NumPy是Python中用于数值计算的核心包之一,
2023-07-05

使用Python怎么对Excel进行处理

本篇文章为大家展示了使用Python怎么对Excel进行处理,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本
2023-06-07

使用SpringMVC请求怎么对handler进行映射

这期内容当中小编将会给大家带来有关使用SpringMVC请求怎么对handler进行映射,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。请求映射源码前台发送给后台的访问请求是如何找到对应的控制器映射并执行后
2023-06-14

怎么在R语言中使用dplyr包对数据进行处理

这期内容当中小编将会给大家带来有关怎么在R语言中使用dplyr包对数据进行处理,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、数据筛选函数:#可使用filter()函数筛选/查找特定条件的行或者样本#f
2023-06-08

怎么用python进行数据处理

使用Python进行数据处理可以使用各种库和工具。以下是一些常见的用于数据处理的Python库和工具:NumPy:用于数值计算和数组操作的库,提供了多维数组对象和各种计算函数,可以进行向量化操作和高效的数值运算。Pandas:提供了用于数
2023-10-25

matlab怎么对导入的数据进行处理

在MATLAB中,可以使用各种函数和工具箱来处理导入的数据。以下是一些常用的数据处理方法:1. 数据清洗:使用函数如`isnan`、`isinf`、`ismissing`等来检查和处理缺失值、无效值和异常值。可以使用函数如`fillmiss
2023-08-31

使用Canvas怎么对图片进行处理

这篇文章给大家介绍使用Canvas怎么对图片进行处理,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、主要API整个流程中所用到的主要Canvas API有:绘制图像: drawImage()获取图像数据: getIm
2023-06-09

使用PyTorch怎么多GPU中对模型进行保存

这篇文章将为大家详细讲解有关使用PyTorch怎么多GPU中对模型进行保存,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。多GPU下训练,创建模型代码通常如下:os.environ[CUDA_
2023-06-07

使用Ajax怎么对缓存进行处理

使用Ajax怎么对缓存进行处理?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。什么是ajaxajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,可以通过在后台与
2023-06-08

如何使用Sharding-JDBC对数据进行分片处理

如何使用Sharding-JDBC对数据进行分片处理,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。前言Sharding-JDBC是ShardingSphere的
2023-06-25

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录