[英]ModelMap vs Model in Spring MVC
我正在比較Spring MVC中的ModelMap和Model 。 除了明顯不同之外,首先是一個類,第二個界面是否有任何差異,使得在不同情況下使用一個或另一個更好?
它們主要用於相同的目的(從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.