Spring 对于XML文件,请更改InternalResourceViewResolver的前缀和后缀以解析XML文件支持
我正在使用Spring 对于XML文件,请更改InternalResourceViewResolver的前缀和后缀以解析XML文件支持,spring,spring-mvc,Spring,Spring Mvc,我正在使用InternalResourceViewResolver解析文件名。到现在为止,我只使用JSP,所以它是完全好的。现在,对于一些请求,我需要发送驻留在WEB-INF文件夹中的xml文件,但不知道如何排除或包含这些xml文件 我的控制器是这样的: @RequestMapping(value = "/sitemap/sitemap_index.xml", method = RequestMethod.GET) public String viewXmlSitemapIndex(ModelM
InternalResourceViewResolver
解析文件名。到现在为止,我只使用JSP,所以它是完全好的。现在,对于一些请求,我需要发送驻留在WEB-INF
文件夹中的xml文件,但不知道如何排除或包含这些xml文件
我的控制器是这样的:
@RequestMapping(value = "/sitemap/sitemap_index.xml", method = RequestMethod.GET)
public String viewXmlSitemapIndex(ModelMap model) {
return "/other/sitemap_index"; //sitemap_index.xml is actual xml file residing in other folder inside WEB-INF
}
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/jsp/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
在dispatcherservlet
中,我定义了InternalResourceViewResolver
如下:
@RequestMapping(value = "/sitemap/sitemap_index.xml", method = RequestMethod.GET)
public String viewXmlSitemapIndex(ModelMap model) {
return "/other/sitemap_index"; //sitemap_index.xml is actual xml file residing in other folder inside WEB-INF
}
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/jsp/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
/WEB-INF/jsp/
.jsp
我想你应该像这样使用ContentNegotingViewResolver
<bean id="viewResolver"
class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="order" value="1" />
<property name="ignoreAcceptHeader" value="true" />
<property name="viewResolvers">
<list>
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver" />
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
</list>
</property>
<property name="mediaTypes">
<map>
<entry key="json" value="application/json" />
</map>
</property>
<property name="defaultViews">
<list>
<bean
class="org.springframework.web.servlet.view.json.MappingJackson2JsonView">
<property name="prefixJson" value="true" />
</bean>
</list>
</property>
</bean>
在这里,您可以定义多视图解析器,并可以选择一个用于XML的解析器
我希望这能有所帮助
Angelo在这段代码中,如何将解析请求委托给xml文件?我不明白。
ContentNegotiatingViewResolver
的任务不是根据内容委托给其他视图解析器吗?这意味着控制器正在定义内容,但在这里,我如何要求控制器定义内容类型?