0

DispacherServlet中,HandlerAdapter将处理请求并返回适当的ModelandView

mv = ha.handle(processedRequest, response, mappedHandler.getHandler());

我的问题是如果ModelandView为空会发生什么?是否会呈现任何 JSP?

如果没有呈现 JSP,那么页面不应该只是空白或错误​​,因为 Spring 不知道要呈现什么?令人惊讶的是,我发现情况并非如此,并且正在呈现页面。

4

1 回答 1

1

我检查了源代码,RequestToViewNameTranslator当处理程序不返回视图或视图名称时,有一个特殊的接口。默认实现是DefaultRequestToViewNameTranslator.

这背后的原因可能是在基于请求呈现视图时允许“约定优于配置”。


更新:仅当您返回 empty 时,上述语句才成立ModelAndView。对于null请求处理不应继续=>因此空白页。如果您没有遇到此类行为,则说明发生了一些奇怪的事情。

于 2013-06-10T07:42:03.307 回答