这听起来可能很愚蠢 Spring
Maven们,但我不得不问:
你如何决定何时使用 ModelAndView
什么时候用 Model
?
经过所有的研究,我发现最好的答案是这个。它提到 ModelAndView
是一种古老的方式 Model
用一个 String
退货是一种新的进货方式 Spring
.
我的问题是,我们应该反对旧的吗 ModelAndView
既然我们有 Model
在手上?或者你需要用什么箱子 ModelAndView
为了它?
还有,有人知道为什么要改变吗 ModelAndView
至 Model
以及 String
值为 View
,有什么好处?
3条答案
按热度按时间fkvaft9z1#
从seo的Angular 来看,我们可以使用modelandview来应用301重定向,如果我们对此有任何要求,我们就不能使用model来实现这一点。
yv5phkfx2#
我发现的一个区别是modelandview对象可以设置对视图对象的直接引用:
但是,如果使用模型和字符串,则需要视图解析器将视图名称解析为实际视图
zbdgwd5y3#
我总是使用控制器方法返回的方法
ModelAndView
. 只是因为它倾向于使控制器方法更简洁一点。方法参数现在是严格的input
参数。以及所有output
相关数据包含在方法返回的对象中。这个
ModelAndView
风格似乎与那些不喜欢更新方法输入参数的人产生共鸣。坚持认为这将构成一种副作用,一种危险的模式,因为您无法可靠地预测该方法将要执行的操作—它可能返回返回的对象中的数据,也可能更新了任何输入参数中的任何内容。所以有些人还是会继续喜欢
ModelAndView
.新款式
Model
作为方法参数,返回字符串作为视图名称。似乎来自一个稍微不同的设计方法。在这里,模型对象被认为是传递给多个处理程序的事件或项,然后返回到呈现它们的视图。它提醒我在awt/swing世界中如何处理事件。此模型与多个处理程序可以在Model
对象,直到它到达一个视图。因此,归根结底,似乎没有明确的理由批评或推广这两种方法。你应该使用更符合你整体设计理念的风格。
希望这有帮助。