Spring之模型
Posted 剑姬
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 }
,
以上是关于Spring之模型的主要内容,如果未能解决你的问题,请参考以下文章
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段
[死磕 Spring 4/43] --- IOC 之 获取验证模型