`

处理模型数据

 
阅读更多

处理模型数据

Springmvc提供四种输出模型数据,分别是

-ModelAndView:处理方法返回值类型为ModelAndView时,方法体可以通过该对象添加模型数据

-Map和Model:入参为org.springframework.ui.Model、org.springframework.ui.ModelMap或java.util.Map和Model:入参为org

时,处理方法返回时,Map中的数据会自动添加到模型中

-@SessionAttribute:将模型中的某个属性暂存到HttpSession中,以便多个请求可以共享这个属性

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

 

1)Spring MVC在调用方法前会创建一个隐含的模型对象做为模型数据存储容器

如果方法入参为Map或Model类型,SpringMVC会将隐含模型的引用传递给入参,

在方法体内,我们可以通过入参对象访问模型数据或向模型中添加新的属性数据

 

2)在多个请求之间共用某个模型数据,可以在控制器类上标注一个@SessionAttribute

SpringMVC会将模型对应的属性暂存到HttpSession中

@SessionAttribute可以通过属性名指定放到会话中的属性,也可以通过对象类型指定放到会话

中的模型属性

-@SessionAttribute(types=User.class)

-@SessionAttribute(value={"user1","user2"})

-@SessionAttribute(types={User.class, City.class})

-@SessionAttribute(value={"user1","user2"},types={User.class, City.class})

 

package com.hous.springmvc.controller;

import java.util.Arrays;
import java.util.Date;
import java.util.Map;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.SessionAttributes;
import org.springframework.web.servlet.ModelAndView;

import com.hous.springmvc.pojo.User;

@SessionAttributes(value={"user"},types={String.class})
@Controller
public class ModelAndViewController {

	/**
	 * 目标方法中返回ModelAndView类型
	 * 其中包含模型和视图信息
	 * springmvc会把ModelAndView的model数据放到request域中
	 * @return
	 */
	@RequestMapping("/testModelAndView")
	public ModelAndView testModelAndView() {
		String viewName = "success";
		ModelAndView modelAndView = new ModelAndView(viewName);
		//添加模型数据到ModelAndView中
		modelAndView.addObject("time", new Date());
		
		return modelAndView;
	}
	
	
	/**
	 * 目标方法添加Map类型参数(也可以是Model或者ModelMap类型)
	 * @param map
	 * @return
	 */
	@RequestMapping("/testMap")
	public String testMap(Map<String, Object> map) {
		map.put("names", Arrays.asList("shanshanbox","桌面导航"));
		return "success";
	}
	
	/**
	 * @SessionAttributes 除了可以通过属性名指定需要放到会话中的属性外(使用value属性值),
	 * 也可以通过模型属性对象类型指定哪种类型的模型需要放在到会话中(使用types属性值)
	 * @param map
	 * @return
	 */
	@RequestMapping("/testSessionAttributes")
	public String testSessionAttributes(Map<String, Object> map) {
		User user = new User("shanshanbox", 25);
		map.put("user", user);
		map.put("web","shanshanbox.com");
		return "success";
	}
	
}

 

分享到:
评论

相关推荐

    Spring MVC--4.处理模型数据

    Spring MVC提供了多种方式来处理模型数据,使得开发者能够灵活地构建Web应用。 首先,我们来了解一下Spring MVC的基本工作流程。当用户发送一个HTTP请求到服务器时,Spring MVC的DispatcherServlet作为前端控制器...

    springmvc处理模型数据ModelAndView过程详解

    SpringMVC处理模型数据ModelAndView过程详解 SpringMVC框架提供了多种方式来处理模型数据,包括使用ModelAndView、Map及Model、@SessionAttributes和ModelAttribute等。下面我们将详细介绍SpringMVC处理模型数据...

    基于数据模型的通用数据处理方法研究.pdf

    【基于数据模型的通用数据处理方法研究】 在信息化和智能化高度发展的今天,武器装备的综合保障已成为军事领域的重要课题。传统的数据处理方法,尤其是基于表单式的数据处理,往往存在通用性不足、可靠性差和稳定性...

    扩散模型(diffusion model) (DDPM)处理表格数据的项目案例

    值得注意的是,扩散模型处理表格数据可能面临挑战,如表格数据的结构约束、离散特征的处理以及如何保持生成数据的统计性质。这些都需要在模型设计和训练策略上做出相应的调整。 项目代码"tab-ddpm-main"中可能包含...

    接收与处理分离的实时大数据处理模型

    该数据处理模型由数据接收单元、内存数据库、原始数据分发单元、数据处理单元、处理数据分发单元、数据归并单元组成。接收单元负责接收、整合结构化数据与非结构化数据,把每条完整的数据放入内存数据库中;分发单元...

    大数据、大数据处理模型及MapReduce

    大数据处理模型和MapReduce模型对现代数据处理和存储技术产生了深远的影响。它们使得处理大规模、复杂的非结构化数据变得可行,并为商业智能提供了全新的分析手段。在处理大规模数据集时,MapReduce模型发挥着至关...

    图形图像处理数据模型

    本压缩包“图形图像处理数据模型”包含了丰富的数据模型资源,对于从事图形图像处理的专业人士来说,这些资源无疑能提供宝贵的参考和学习机会。 1. **颜色模型**:在图形图像处理中,颜色是基本元素之一。常见的...

    遥感影像数据处理模型设计研究.pdf

    【遥感影像数据处理模型设计研究】 遥感影像数据处理模型设计的研究主要集中在利用现代信息技术,尤其是云计算,来提升处理大规模遥感数据的效率和精度。这种模型突破了传统计算模式,利用云计算的强大计算资源,对...

    基于数据处理模型的软件测试方法.pdf

    【基于数据处理模型的软件测试方法】 在软件测试领域,数据处理软件的测试是一项关键任务,因为这类软件通常承担着核心的数据转化、分析和决策支持功能。传统的软件测试方法,如等价类划分、边界值分析和错误猜测,...

    6S模型处理modis数据

    6S模型处理MODIS数据的过程主要包括以下步骤: 1. **输入参数设置**:首先,需要设定6S模型的输入参数,如卫星传感器的特性、地表类型、大气状况、太阳和地球的位置等。这些参数可以通过查阅文献、遥感数据产品或...

    基于Hadoop的海量数据处理模型研究和应用.pdf

    【基于Hadoop的海量数据处理模型研究和应用】 在当今信息化社会,Web成为了最大的信息系统,其价值主要来源于用户产生的海量数据。这些数据包含了丰富的信息,包括用户的浏览行为、社交网络互动、购物偏好等,为...

    三维模型的数据处理与显示技术的设计与实现.pdf

    动态显示需要处理模型在运动中的表现,而静态显示则更多关注模型在某一时间点的展示效果。 此外,文章还提到了将三维模型显示模块融合到地图软件中的嵌入式测试过程,以及如何评估该模块在绘制效率、读取速度方面的...

    20个可读的obj模型文件

    开发者可以通过调用OpenGL函数,如`glGenVertexArrays`、`glGenBuffers`等,配合使用`glBindBuffer`、`glBufferData`等来加载和处理模型数据。 3. 3D查看器: 提到的Microsoft商店中的3D查看器是Windows操作系统的...

    中国电信计费模型:数据模型

    总结来看,中国电信的计费模型数据模型通过精细化和模块化的设计,使得电信企业可以更加灵活地应对市场变化,同时提升服务质量和客户满意度。该模型不仅支持业务运营的高效管理,还确保了财务管理的精确性,为企业...

    阿里研究院:2024大模型训练数据白皮书.pdf

    多模态模型是指能够同时处理多种类型数据(如图像、视频、文本等)的模型。这类模型在训练时需要综合多种模态的数据,例如图像识别任务中的图片数据加上相应的文字描述。这种跨模态的数据组合有助于模型更好地理解和...

    中国联通IT系统数据架构规范_第一分册_企业数据模型分册

    企业数据架构体系是中国联通企业数据模型体系的核心组成部分,它定义了企业的数据架构,并规定了数据的存储、处理和传输方式。 企业数据模型 企业数据模型是中国联通企业数据模型体系的基础组成部分,它定义了企业...

    数据流计算模型及其在大数据处理中的应用.docx

    ### 数据流计算模型及其在大数据处理中的应用 #### 一、引言 计算机科学领域内,根据计算方式的不同,计算模型大致可以分为控制流和数据流两大类。控制流计算机,也就是我们熟知的冯·诺伊曼架构计算机,是目前...

    高海拔地区对流层延迟改正模型对GNSS数据处理精度的影响.pdf

    为此,本文针对云南宣曲高速公路的实际案例,对几种常用的对流层改正模型进行了数据处理精度的比较分析,最终提出了一种新的模型,旨在缺少实测气象参数的高海拔地区有效提高GNSS数据处理精度。 对流层延迟改正模型...

    数据分析_后处理模型_数据预测_python_数据开发_可视化_

    在数据分析领域,后处理模型和数据预测是两个关键步骤,它们在现代商业决策制定和科学研究中扮演着重要角色。Python语言作为数据科学界的主流工具,为数据开发和可视化提供了强大的支持。下面我们将深入探讨这些知识...

    环境数据处理与数学模型课件 05-环境数据分析方法-3.ppt

    环境数据处理与数学模型课件

Global site tag (gtag.js) - Google Analytics