java@RequestMapping方法中的模型参数
目前我正在学习Spring,特别是SpringMVC部分,我偶然发现了一件事,我不太明白它是如何工作的
@RequestMapping("/foo")
public String foo(Model model){
// code here
return "foo";
}
上面用@RequestMapping
注释的方法使用类Model
接收参数,有时使用ModelAndView
我不理解的是Model
参数来自何处,以及流如何来自使用ComponentScan
和InternalResourceViewResolver
Bean的spring配置类(如WebConfig.java)
我一直在寻找资料来源,但我没有发现任何对我有帮助的东西,甚至是文档,这让我第一次在这里问
一个直接的解释会很有帮助,或者如果有任何来源,可以把链接放在这里。 如果它来自文档,请说明它是哪个部分/部分,因为我可能会错过一两件事
# 1 楼答案
下面的帖子详细解释了ModelAndView和Model
When to use ModelAndView vs Model in Spring?
控制器通常负责准备带有数据的模型映射并选择视图名称,但也可以直接写入响应流并完成请求。视图名称解析可以通过文件扩展名或接受头内容类型协商、bean名称、属性文件甚至自定义ViewResolver实现进行高度配置。该模型(MVC中的M)是一个映射接口,允许对视图技术进行完全抽象。您可以直接与基于模板的呈现技术(如JSP、Velocity和Freemarker)集成,或者直接生成XML、JSON、Atom和许多其他类型的内容。模型映射被简单地转换成适当的格式,例如JSP请求属性、Velocity模板模型
引用-http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-ann-arguments