从spring mvc控制器方法返回null

时间:2012-11-09 16:35:24

标签: spring-mvc controller return-value

我已阅读Spring文档,但我无法找到有关返回null的Spring MVC控制器方法的预期行为(返回类型为String)的相关信息。

有人可以提供回复或直接向我提供相关文件吗?或者换句话说,从Spring MVC控制器方法返回null有什么好处?

2 个答案:

答案 0 :(得分:6)

在Spring 2中,当您从控制器返回null时,您向Spring调度程序说您不希望它搜索视图。

如果您通过直接编写响应内容然后刷新输出流(例如,您正在管理文件下载)来自行处理响应,则执行此操作。

如果你没有返回null,那么Spring会转发给那些试图写入响应的视图,弄乱你已经写好的数据,或者如果响应已经被提交就会导致异常。

返回null是回到Spring的视图解析器的一种方式。

在Spring 3中发生了很多变化,现在通过使用返回void的@RequestMapping注释方法可以获得相同的效果。

如果你有一个返回类型的String但是你返回null我认为它使用默认的RequestToViewNameTranslator在未明确提供视图名称时将传入的HttpServletRequest转换为逻辑视图名称。

答案 1 :(得分:0)

返回类型Spring中的字符串mvc通常会返回您的视图解析器,它可以是您的JSP,html或任何其他视图页面。

http://www.mkyong.com/spring3/spring-3-mvc-hello-world-example/

假设您想要返回一个普通的字符串,例如“hi”,您可以使用@ResponseBody注释来执行此操作。