我可以使用:
return new ModelAndView(viewName, model);
或者我使用:
response.setContentType("text/plain");
response.getWriter().print("Hello World!");
现在在设计上有什么区别,除此之外我在第二个解决方案中不需要 JSP。 但是我也可以输出一个 flestream 对吧?
也许我只是需要多一点理解。希望你们中的一些人能帮忙! 谢谢!
最佳答案
MVC 是关于分离关注点的。因此,每个请求/响应交互都有三个组件。数据本身,显示数据的 View ,以及操纵傀儡的 Controller 。
这就是模型,所以如果它们适用,您应该使用其中的三个(例如,如果您有一个静态页面,它根本没有模型......它没有要显示的模型,只有HTML)。
在某些情况下您可以直接从 Controller 编写,让 Controller 决定 View 和模型。在没有必要像您指出的情况那样编写单独的 View 的情况下,它很有用:文件输出。
无论如何,您都可以编程一个单独的 View 。类似于 FileOutputView 的东西,它接收要输出的文件或路径或流。这样决定渲染的类将与 Controller 分离。但在这种情况下,成为这样一个纯粹主义者几乎没有什么好处。
我之前说程序是因为 View 负责呈现,但它不一定是声明式 View ,如JSP。当然,JSP 将是 99% 的时间。
关于java - Quick Spring MVC 问题 : If I don't return a model, 为什么我仍然可以通过响应呈现 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3583632/