在Spring MVC 中处理数据模型的相关知识

1.ModelAndView

/*
* 目标方法的返回值可以是ModelAndView类型
* 其中可以包含视图和模型信息
* SpringMVC 会把ModelAndView的model中数据放入到 request 域当中
*/

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

在最后的跳转页面中使用time:${requestScope.time}即可输出!

<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
	<h4>Success Page</h4>
	
	time:${requestScope.time}
	<br><br>	

</body>
</html>

输出如图:
在这里插入图片描述

2.Map及Model

/*
* 目标方法可以添加Map类型(实际上也可以是Model或者ModelMap类型)的参数
*/

@RequestMapping("/testMap")
	public String testMap(Map<String,Object> map) {
		System.out.println(map.getClass().getName());
		map.put("names", Arrays.asList("tom","jerry","mike"));
		return SUCCESS;
	}

在这里插入图片描述
最后的跳转页面:

<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
	<h4>Success Page</h4>
	
	time:${requestScope.time}
	<br><br>
	names:${requestScope.names}
	<br><br>
		
</body>
</html>

输出如图:
在这里插入图片描述

3.@SessionAttributes

/*
 * @SessionAttributes 除了可以通过属性名指定需要放到会话层中的属性外
 * (实际上使用的是value属性值)
 * 还可以通过模型属性的对象类型指定哪些模型属性需要放到会话中
 * (实际上使用的是types属性值)
 * 特别注意:该注解只能放在类的上面!而不能放在方法的上面!
 */
@SessionAttributes(value={"user"},types= {String.class})
@RequestMapping("/springmvc")
@Controller
public class SpringMVCTest {	
	private static final String SUCCESS = "success";
	
	@RequestMapping("/testSessionAttributes")
	public String testSessionAttributes(Map<String,Object> map) {
		User user = new User("TOM", "1234", "1231@qq.com", 16);
		map.put("user", user);
		map.put("school","atguigu");
		return SUCCESS;
	}
}	

最后的跳转页面:

<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
	<h4>Success Page</h4>
	
	time:${requestScope.time}
	<br><br>
	names:${requestScope.names}
	<br><br>
	request user:${requestScope.user}
	<br><br>
	session user:${sessionScope.user}
	<br><br>
	request school:${requestScope.school}
	<br><br>
	session school:${sessionScope.school}
	<br><br>
</body>
</html>

输出如图:
在这里插入图片描述
相关在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值