春天,有什么区别
modelMap.put("key",value);
和
modelMap.addAttribute("Key",value);
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;
}
他们已经回答了,但如果您想要摘要,我个人会这样做: 总之,当您想要确保属性名称不为 null 时,请使用 addAttribute,而当您需要添加或替换属性而不进行 null 检查时,请使用 put。
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