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

问题描述 投票:0回答:3

春天,有什么区别

modelMap.put("key",value);

modelMap.addAttribute("Key",value);
spring spring-mvc
3个回答
5
投票

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

0
投票

他们已经回答了,但如果您想要摘要,我个人会这样做: 总之,当您想要确保属性名称不为 null 时,请使用 addAttribute,而当您需要添加或替换属性而不进行 null 检查时,请使用 put


-1
投票
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框架继承自HashMap,put是一个方法 继承自 HashMap。

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

© www.soinside.com 2019 - 2024. All rights reserved.