Spring MVC中的模型Map与模型

0yg35tkg  于 2023-01-13  发布在  Spring
关注(0)|答案(1)|浏览(169)

我正在比较Spring MVC中的ModelMapModel。除了前者是类而后者是接口这一明显区别之外,在不同的情况下,是否有任何区别使一个或另一个更可取?
它们主要用于相同的目的(如spring MVC文档所示):
java.util.Map / org.springframework.ui.Model / org.springframework.ui.ModelMap,用于丰富暴露给web视图的隐式模型。
只有我发现那里它的ModelMap是增强Map,但差异Model仍然不清楚。
我能从ModelMap javadoc得出结论说“Model”是java 5的首选吗?
查看Model接口,了解用于相同目的的基于Java-5的接口变体。
然而,看起来ModelMap并不会被弃用什么的。但是为什么ModelMap不实现Model呢?

bjg7j2ky

bjg7j2ky1#

Model- Java-5特定的接口,它定义了模型属性的保持器。主要用于向模型添加属性。允许以java. util. Map的形式访问整个模型。
简单地说,模型可以提供用于呈现视图的属性。
ModelMap- ModelMap类基本上是一个LinkedHashMap。为了方便,它增加了一些方法。就像上面的Model接口一样,ModelMap也用于传递值以呈现视图。
ModelMap的优点是它使我们能够传递一组值,并将这些值视为Map中的值:

@GetMapping("/printViewPage")
public String passParametersWithModelMap(ModelMap map) {
    map.addAttribute("welcomeMessage", "welcome");
    map.addAttribute("message", "Baeldung");
    return "viewPage";
}

参考;

相关问题