对SpringMvc中模型数据存储的理解
问题1:
问题2:
你会问,为什么要用Model,ModelMap,Map,ModelAndView
这些来存储的,他们有什么联系呢?你说的模型对象又是什么呢?
不是特别清楚的可以继续查看其他的博客,有很多关于四者关系的介绍
问题三:
看完此图之后:
哈哈哈哈哈哈哈哈哈哈哈!!!!!!!!
所以我认为SpringMvc再调用方法之前创建了一个隐含的模拟对象作为模型数据的存储就是应该是new 了一个BindAwareModelMap实例
这样SpringMvc会将隐含模型的引用传递给这个这些入参,父类指向子类的引用嘛,这也是为什么Model,ModelMap,Map,ModelAndView可以作为参数的原因
问题4:
@ModelAttribute为什么放在返回值是空的方法上要以Map作为参数
看了上面你能看出来为什么嘛???其实返回值是String,也根本不影响,因为Map.put(),已经把user对 象存到了模型对象中(BindAwareModelMap的put)
希望能帮到你!如果出现错误,麻烦告诉我,一起讨论呀