是否可以在不使用 View 解析器的情况下在 Controller 中指定 View 文件的完整路径?
假设我只有一个文件,比如在我的 View 中有一个 XML 文件,对于一个特定的请求,我想提供该 XML 文件。通过使用 View 解析器,我无法找到一种方法来获取这样的文件并像我服务 jsp 一样直接服务器。那么,对于这种情况,我可以像以前在 servlet 的 getRequestDispatcher
中那样在 Controller 中指定完整路径吗?
我的 View 解析器目前仅针对 JSP 配置,我无法找到使用 View 解析器来处理这种情况的 View ,我的 View 解析器如下所示:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/jsp/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
目前我在 Controller 中为此使用 getRequestDispatcher
?有没有基于 spring 的替代方案?
最佳答案
Spring MVC 允许您创建具有不同返回类型的请求处理方法,请参阅 reference guide .而不是 String
从您的方法返回一个直接指向您的资源的 View
。当您返回一个 View
实例时,Spring MVC 不会查询 ViewResolver
而是简单地按原样使用 View 。对于您的情况,您可能想使用 InternalResourceView
.
@RequestMapping
public View yourRequestHandlingMethod() {
return new InternalResourceView("path/to/resource");
}
关于spring - 在 spring Controller 中指定 View 文件的完整路径,而不是使用 View 解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23109267/