微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 在@RequestMapping方法的spring mvc中使用哪种返回类型?

我知道在春天mvc在@Controller中的@RequestMapping方法我可以返回

>字符串
>模型
> ModelAndView

我不明白这些行为之间的区别.
你能解释一下吗

解决方法

Spring 3.2.x中有更多只是那些3.参见 Spring website的文档.Latests Spring(4.2.x) documentation.

以下是支持的返回类型:

> ModelAndView对象,其中模型隐含地丰富了命令对象和@modelattribute注释引用数据访问器方法的结果.> Model对象,视图名称通过RequestToViewNameTranslator隐式确定,隐式丰富命令对象的模型以及@modelattribute注释引用数据访问器方法的结果.>用于暴露模型的Map对象,其视图名称通过RequestToViewNameTranslator隐式确定,隐式丰富了命令对象的模型以及@modelattribute注释引用数据访问器方法的结果.>一个View对象,该模型通过命令对象和@modelattribute注释引用数据访问器方法隐式确定.处理程序方法也可以通过声明一个Model参数(见上文)以编程方式丰富该模型.>被解释为逻辑视图名称的字符串值,其中模型通过命令对象和@modelattribute注释引用数据访问器方法隐式确定.处理程序方法也可以通过声明一个Model参数(见上文)以编程方式丰富该模型.> void如果方法处理响应本身(通过直接写入响应内容,为此目的声明一个类型为ServletResponse / HttpServletResponse的参数),或者视图名称应该通过RequestToViewNameTranslator隐式确定(不声明响应参数处理程序方法签名).>如果方法用@ResponseBody注释,则返回类型将写入响应HTTP主体.返回值将使用HttpMessageConverters转换为声明的方法参数类型.请参阅“使用@ResponseBody注释映射响应正文”一节.>一个httpentity **或** ResponseEntity对象来提供对Servlet响应HTTP头和内容的访问.实体将使用HttpMessageConverters转换为响应流.请参阅“使用httpentity”一节.>当应用程序想在由Spring MVC管理的线程中异步生成返回值时,可以返回Callable.>当应用程序想从自己选择​​的线程生成返回值时,可以返回DeferredResult.>任何其他返回类型都被认为是要暴露给视图的单一模型属性,使用在方法级别(或基于返回类型类名称属性名称)通过@modelattribute指定的属性名称.该模型隐含地丰富了命令对象和@modelattribute注释引用数据访问器方法的结果.

原文地址:https://www.jb51.cc/java/124676.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐