Я читал документацию Spring 3.0 и Посты блога (продолжение) о том, как создавать сервисы в стиле REST с помощью Spring MVC, но я не могу найти никакого рабочего примера о том, как используйте 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 была лишь одной из тех вещей, которые я пробовал). Кажется, что не так много материала для чтения. У кого-нибудь есть опыт или примеры?