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

wqlqzqxt  于 2023-04-19  发布在  Spring
关注(0)|答案(2)|浏览(111)

在Spring里,它们之间有什么区别

modelMap.put("key",value);

modelMap.addAttribute("Key",value);
20jt8wwn

20jt8wwn1#

addAttributes意味着检查属性名中的非空值-〉参见源代码

/**
     * 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;
    }
mnemlml8

mnemlml82#

addAttribute(String attributeName, Object attributeValue)

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

put(String attributeName, Object attributeValue)

将指定的值与此Map中指定的attributeName关联。如果Map以前包含attributeName的Map,则替换旧值。
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

相关问题