Spring4.0用Model和ModelAndView,项目中虽然都用过,但是没有去特别深追其区别。正好有时间可以研究下。
首先要去看源代码咯,<import org.springframework.ui.Model>导包过程,其实起源代码在
<spring-context-4.1.3.RELEASE-sources.jar>中;
源代码中发现Model是一个接口,Model实际上就是个Map(key-value的集合),
Model addAttribute(Object attributeValue);此方法Spring框架会自动为他生成key,假如是value值是Spittle,那么key为spittleList
package org.springframework.ui;
import java.util.Collection;
import java.util.Map;
public interface Model {
Model addAttribute(String attributeName, Object attributeValue);
Model addAttribute(Object attributeValue);
Model addAllAttributes(Collection<?> attributeValues);
Model addAllAttributes(Map<String, ?> attributes);
Model mergeAttributes(Map<String, ?> attributes);
boolean containsAttribute(String attributeName);
Map<String, Object> asMap();
}