给前端页面request域中存放数据:
**有Model、Map、ModelMap三种方法
(一)Model方法给前端页面request域中存放数据
- 在控制器组件(用于拦截前端页面发送的请求)中添加如下代码:
@RequestMapping(value="/handle02")
public String handle02(Model model){
model.addAttribute("msg", "你好坏!");
System.out.println("model的类型:"+model.getClass());
return "success";
}
说明:该段代码写在控制器组件中,“/handle02” 是拦截的前端页面发送的“/handle02”请求。handle02()方法是对拦截请求后的处理。model.addAttribute(“msg”, “你好坏!”);——在前端页面request域中存储"msg", "你好坏!"
数据。
- 配置前端“success”页面。从request域中拿到存入的数据
<body>
<h1>成功!</h1><br>
pageContext:${pageScope.msg}<br/>
request:${requestScope.msg}<br/>
session:${sessionScope.msg}<br/>
application:${applicationScope.msg}<br/>
</body>
(二)Map方法给前端页面request域中存放数据
- 在控制器组件中配置以下代码:
@RequestMapping(value="/handle01")
public String handle02(java.util.Map<String, Object> map){
map.put("msg", "你好");
System.out.println("map的类型:"+map.getClass());
return "success";
}
说明:map.put(“msg”, “你好”);——给前端页面request域中存放数据。
- 配置前端“success”页面。从request域中拿到存入的数据(同上)
(三)ModelMap方法给前端页面request域中存放数据 - 在控制器组件中配置以下代码:
@RequestMapping(value="/handle03")
public String handle03(ModelMap modelMap){
modelMap.addAttribute("msg", "你好棒!");
System.out.println("modelmap的类型:"+modelMap.getClass());
return "success";
}
说明:modelMap.addAttribute(“msg”, “你好棒!”);——给前端页面request域中存放数据。
- 配置前端“success”页面。从request域中拿到存入的数据(同上)
给前端页面session域中存放数据:
在控制器组件(类)上添加@SessionAttributes()注解即可
说明:
1.使用一个注解 @SessionAttribute(只能标注在类上);
2.给BindingAwareModelMap(request域)中保存的数据,同时给session中放一份;
3.value指定保存数据时要给session中放的数据的key——即如果value值如上图所示,说明在给request域中存放数据,其key值为“msg”时,顺便给session域中存放该值,如果给request域中存放的数据key值不是“msg”,则对应的值不会存放在session域中。