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 }

转载于:https://www.cnblogs.com/saber-himesama/p/7517348.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值