我已阅读Spring文档,但我无法找到有关返回null的Spring MVC控制器方法的预期行为(返回类型为String)的相关信息。
有人可以提供回复或直接向我提供相关文件吗?或者换句话说,从Spring MVC控制器方法返回null有什么好处?
答案 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注释来执行此操作。