簡體   English   中英

Spring MVC中的ModelMap與模型

[英]ModelMap vs Model in Spring MVC

我正在比較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

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";
}

參考;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM