将@ModelAttribute
声明为方法参数和使用model.asMap()
之间有什么区别?
示例:
public void method1(@ModelAttribute("attr") MyObject myObj) {
...
}
public void method2(Model model) {
MyObject myObj = (MyObject) model.asMap().get("attr");
}
如果这是你的想法,这些不一样。我试图从模型中获取一个属性,这是第一种方式,但没有工作,所以最后以第二种方式进行。
由于
编辑:我的意思是"它没有工作"就是当我使用@ModelAttribute
时,它将该对象中的变量值混淆为另一个具有相同变量名称的不同类型的对象。
编辑#2:不,它不是重复的,因为他没有解决model.asMap()方法。根据另一篇文章,我尝试在@SessionAttributes变量上使用@ModelAttribute,但遇到了问题,所以不得不使用model.asMap()