我可以用:
return new ModelAndView(viewName, model);
或者我使用:
response.setContentType("text/plain");
response.getWriter().print("Hello World!");
现在,设计的差异在哪里,其他我在第二个解决方案中不需要JSP。 但是我还能输出一个直接的权利吗?
也许我只需要更多的理解。希望你们有些人可以帮忙! 谢谢!
答案 0 :(得分:2)
MVC 是关于关注的问题。因此,每个请求/响应交互都有三个组件。数据本身,显示数据的视图,以及作为木偶大师的控制器。
这就是模型,所以你应该使用它们中的三个(例如,如果你有一个静态页面,它根本就没有模型......它没有要显示的模型,只有HTML)。
在某些情况下,您可以直接从控制器中编写,让控制器决定视图和模型。在没有必要编写单独视图的情况下(如您指出的情况:文件输出),它非常有用。
无论如何,你可以 编程一个单独的视图。类似FileOutputView的东西,它接收要输出的文件或路径或流。这样决定渲染的类将与控制器分离。但在这种情况下,成为这样一个纯粹主义者几乎没有什么好处。
之前我说程序因为视图负责呈现,但它不一定必须是视图的声明类型,就像JSP一样。当然,JSP将是99%的时间。
答案 1 :(得分:0)
是的,您可以输出任何内容类型。在这种情况下不要忘记返回null。