1、使用servletAPI向request域对象共享数据
本次请求下数据有效。
@RequestMapping("/login")
public String getLoginPage(HttpServletRequest request){
request.setAttribute("user", 1111);
return "login";
}
2、使用ModelAndView向request域对象共享数据
ModelAndView有model 和 view的功能 Model主要用于请求域共享数据。view主要用于设置视图用于页面跳转。
@RequestMapping("/mapper")
public ModelAndView testModelAndView(){
ModelAndView mv = new ModelAndView();
mv.setObject("scope",11);
mv.setViewName("success");
return mv;
}
3、使用Model向request域对象传递数据
@RequestMapping("/testModel")
public String testModel(Model model){
model.addAttribute("name", "张三");
return "error";
}
4、使用map向request域对象传递数据
@RequestMapping("/testMap")
public String testMap(Map<String,Object> map){
map.put("name", "张三");
return "error";
}
5、使用ModelMap向request域对象传递数据
@RequestMapping("/testModelMap")
public String testModelMap(testModelMap map){
map.addAttribute("name", "张三");
return "error";
}
6、Model,ModelMap,Map之间的关系
Model,ModelMap,Map类型的参数其实本质上都是BindingAwareModelMap类型的
public interface Model{}
public class ModelMap extends LinkHashMap<String,Object>{}
public class ExtendedModelMap extends ModelMap implements Model{}
public class BindingAwareModelMap extends ExtendedModelMap {}