私はJSONPを使用してSpringMVCのコントローラーサービスを呼び出しています。コールバックにラップされた結果を返すカスタムフィルターがあります。この例、http://jpgmr.wordpress.com/2010/07/28/tutorial-implementing-a-servlet-filter-for-jsonp-callback-with-springs-delegatingfilterproxy/を使用しました。ContentNegotiatingViewResolverも使用していますが、結果はコールバックでXMLを返し続けます。なぜそれを続けるのでしょうか?
jQuery1509349652162468509_1300839533498(<?xml version="1.0" encoding="UTF-8" standalone="yes"?><followResponse><id>0</id></followResponse>);
サーブレット-context.xml
<beans:bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<beans:property name="order" value="1"/>
<beans:property name="mediaTypes">
<beans:map>
<beans:entry key="json" value="application/x-json"/>
<beans:entry key="json" value="text/json"/>
<beans:entry key="json" value="text/x-json"/>
<beans:entry key="json" value="application/json"/>
<beans:entry key="xml" value="text/xml"/>
<beans:entry key="xml" value="application/xml"/>
</beans:map>
</beans:property>
<beans:property name="defaultViews">
<beans:list>
<beans:bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"/>
<beans:bean class="org.springframework.web.servlet.view.xml.MarshallingView">
<beans:property name="marshaller">
<beans:bean class="org.springframework.oxm.xstream.XStreamMarshaller" />
</beans:property>
</beans:bean>
</beans:list>
</beans:property>
</beans:bean>