modelMap.put()v / s modelMap.addAttribute()

时间:2013-04-01 11:06:12

标签: spring spring-mvc java-ee

春天,

之间有什么区别
modelMap.put("key",value);

modelMap.addAttribute("Key",value);

2 个答案:

答案 0 :(得分:3)

addAttributes意味着在属性名称中检查not null - >见消息来源

 /**
     * Add the supplied attribute under the supplied name.
     * @param attributeName the name of the model attribute (never <code>null</code>)
     * @param attributeValue the model attribute value (can be <code>null</code>)
     */
    public ModelMap addAttribute(String attributeName, Object attributeValue) {
        Assert.notNull(attributeName, "Model attribute name must not be null");
        put(attributeName, attributeValue);
        return this;
    }

答案 1 :(得分:0)

addAttribute(String attributeName, Object attributeValue)
  

在提供的名称下添加提供的属性。

put(String attributeName, Object attributeValue)
  

将指定的值与指定的attributeName关联   这张地图。如果地图以前包含该地图的映射   attributeName,旧值被替换。

     

addAttribute用于添加值,put用于添加或替换

     

如果我们考虑Java Spring API

     

java.lang.Object中       java.util.AbstractMap中          的java.util.HashMap            java.util.LinkedHashMap中                org.springframework.ui.ModelMap

     

Spring Framework已经从HashMap继承而且put是一种方法   继承自HashMap。

https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/ui/ModelMap.html