Spring之模型

一、Spring模型种类

Spring有以下几种模型:

1、ModelAndView:作为方法返回值类型,就如其名字一样,既能添加模型数据,又能设置视图;

2、Model:Model作为接口,一般情况下,控制器的方法返回值为String类型,(Model model)作为入参存在于方法中;既可以显式声明key,addAttribute(key,Object)

3、ModelMap:ModelMap作为接口,一般情况下,控制器的方法返回值为String类型(Map map)作为入参存在于方法中;

4、@SessionAttributes:将模型中的某个属性暂存到 HttpSession 中,以便多个请求之间可以共享这个属性;

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

二、Spring模型具体介绍

ModelAndView:控制器处理方法的返回值如果为 ModelAndView, 则其既包含视图信息,也包含模型数据信息。

 1 @Controller
 2 @RequestMapping("/model")
 3 public class ModelController {
 4 
 5     @RequestMapping("/register")
 6     public ModelAndView register(User user){
 7 
 8         ModelAndView mv = new ModelAndView("home"); //视图名home
 9         mv.addObject("user", user);
10 
11         return mv; //模型名mv
12     }
13 }

 Map:

 1 @Controller
 2 @RequestMapping("/Map")
 3 public class ModelController {
 4 
 5     @RequestMapping("/register")
 6     public String register(User user, Map<String, Object> map){
 7 
 8         map.put("user", user);
 9 
10         return "home";
11     }
12 }

 Model:

 1 @Controller
 2 @RequestMapping("/model")
 3 public class ModelController {
 4 
 5     @RequestMapping("/register")
 6     public String register(User user, Model model){
 7 
 8         model.addAttribute("user", user);
 9     // model.addAttribute(user);这种隐性添加数据时,Model会自动装备key,key="userList"
10         return "home";
11     }
12 }

posted on 2017-09-13 19:29  剑姬  阅读(287)  评论(0编辑  收藏  举报

导航