ModelAndView、Model、ModelMap、RedirectAttributes的范围及关系分析
作者:互联网
在这几者中,ModelAndView、ModelMap、Model是直接可以放在控制器方法的参数中的,在Spring MVC运行的时候,会自动初始化它们。
- 其中ModelMap和Model必须放在方法参数中才能完成初始化。若放在参数中进行初始化,则不论是Model的参数还是ModelMap的参数,Spring MVC都会对其进行实例化为BindingAwareModelMap,因此Model的参数和ModelMap的参数之间是可以进行相互转换的。
- ModelAndView既可以放在方法参数中完成初始化,也可以在方法中进行手动实例化,在实例化ModelAndView后,ModeAndView对象中model属性默认为空,当调用它增加数据后,才自动创建实例。
在控制器返回的视图名称为重定向时,如果在数据模型中设置的是String类型,则默认以get的方式添加在重定向url之后。在控制器返回的视图名称为重定向时,如果要传递的数据不是String类型,则需要使用RedirectAttributes接口的实例进行传递,其中有个方法addFlushAttribute,可以传递自定义数据对象给目标重定向url。
标签:初始化,ModelMap,实例,参数,ModelAndView,RedirectAttributes,Model 来源: https://blog.csdn.net/qq_32683235/article/details/113917011