我正在阅读有关如何使用 Spring MVC 创建 REST 样式服务的Spring 3.0 文档和博客文章(后续),但我找不到任何有关如何使用 ContentNegotiatingViewResolver 的工作示例。我有一个像这样的测试控制器
@Controller
public class IndexController implements Serializable
{
@RequestMapping("/index")
public ModelAndView index()
{
ModelAndView mav = new ModelAndView();
mav.setViewName("index");
return mav;
}
}
并尝试使用这样的东西
<bean
class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="mediaTypes">
<map>
<entry key="html" value="text/html" />
<entry key="xml" value="text/xml" />
<!--
<entry key="json" value="application/json"/>
-->
</map>
</property>
<property name="defaultContentType"><value>text/html</value></property>
<property name="defaultViews">
<bean class="org.springframework.web.servlet.view.xml.MarshallingView">
<property name="marshaller">
<bean class="org.springframework.oxm.xstream.XStreamMarshaller" />
</property>
</bean>
</property>
<property name="viewResolvers">
<list>
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/pages/" />
<property name="suffix" value=".jsp" />
</bean>
</list>
</property>
</bean>
尝试根据 URL 中的扩展名解析视图(我想支持 html、.xml 和 .json)。.html 视图有效(也显示了正确的 JSP 视图),但我尝试让 JSON 和 XML 启动并运行似乎没有任何效果(设置 defaultViews 属性只是我尝试过的事情之一)。似乎也没有那么多阅读材料。有没有人有经验或例子?