springMVC处理模型数据

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

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

2.ModelAndView

1.控制器处理方法的返回值如果为 ModelAndView, 则其既包含视图信息,也包含模型数据信息。
2.添加模型数据:
MoelAndView addObject(String attributeName, Object attributeValue)
ModelAndView addAllObject(Map<String, ?> modelMap)
3.设置视图:
void setView(View view) –
void setViewName(String viewName)j
4.代码的演示:
整个项目的创建可以参考
点击直接跳转
index.jsp

<a href="springmvc/testModelAndView">Test ModelAndView</a>
	<br><br>

Springmvc.java

@RequestMapping("/testModelAndView")
	public ModelAndView testModelAndView(){
		String viewName = SUCCESS;
		ModelAndView modelAndView = new ModelAndView(viewName);
		
		//添加模型数据到 ModelAndView 中.
		modelAndView.addObject("time", new Date());
		
		return modelAndView;
	}

success.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isErrorPage="true"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
      <h4>success page</h4>
      time: ${requestScope.time}
</body>
</html>

运行效果图:
在这里插入图片描述
在这里插入图片描述

2.Map 及 Model

1.Spring MVC 在内部使用了一个org.springframework.ui.Model 接口存储模型数据
2.具体步骤 •
Spring MVC 在调用方法前会创建一个隐含的模型对象作为模型数据的存储容器。
如果方法的入参为 Map 或 Model 类 – 型,Spring MVC 会将隐含模型的引用传递给这些入参。在方法体内,开发者可以
通过这个入参对象访问到模型中的所有数据,也可以向模型中添加新的属性数据
3.代码截图如下:
在这里插入图片描述
在这里插入图片描述

3.@SessionAttributes

若希望在多个请求之间共用某个模型属性数据,则可以在 控制器类上标注一个 @SessionAttributes, Spring MVC 将在模型中对应的属性暂存到 HttpSession 中。
@SessionAttributes 除了可以通过属性名指定需要放到会话中的属性外,还可以通过模型属性的对象类型指定哪些模型属性需要放到会话中
@SessionAttributes(types=User.class) 会将隐含模型中所有类型为 User.class 的属性添加到会话中。
@SessionAttributes(value={“user1”, “user2”})
@SessionAttributes(types={User.class, Dept.class})
@SessionAttributes(value={“user1”, “user2”}, types={Dept.class})
代码截图如下:
在这里插入图片描述
index.jsp
在这里插入图片描述
success.jsp
在这里插入图片描述
在这里插入图片描述

4.@ModelAttribute

1.在方法定义上使用 @ModelAttribute 注解:Spring MVC •在调用目标处理方法前,会先逐个调用在方法级上标注了
@ModelAttribute 的方法。
2.在方法的入参前使用 @ModelAttribute 注解:可以从隐含对象中获取隐含的模型数据中获取对象,再将请求参数绑定到对象中,再传入入参将方法入参对象添加到模型中
springmvctest.java,代码截图如下:
在这里插入图片描述
在这里插入图片描述
index.jsp
在这里插入图片描述
运行结果如下:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值