0
以前はspring mvc 3を使用して作成されたコントローラクラスを持っていましたが、何らかの理由でSpringバージョンを4.1.4に更新することにしました。 この変更の後、このコントローラーは以前と同じように動作しなくなりました... 前のバージョンでは以下のコードがこのように戻ってきました:departmentList:{....}このdepartmentListは最初のものですが、今はちょうどシンプルな配列:[{...}、{...}]Spring MVC 4はデフォルトでjsonルートオブジェクトを生成していません
new ModelAndView().addObject(departmentList);
設定はxmlです。
<bean id="cnManager"
class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
<property name="favorPathExtension" value="true"/>
<property name="ignoreAcceptHeader" value="true" />
<property name="defaultContentType" value="application/json" />
<property name="useJaf" value="true"/>
<property name="mediaTypes">
<map>
<entry key="html" value="text/html" />
<entry key="json" value="application/json" />
<entry key="xml" value="application/xml" />
</map>
</property>
</bean>
<bean id="jacksonObjectMapper" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"
p:targetMethod="disable">
<property name="targetObject">
<bean class="com.fasterxml.jackson.databind.ObjectMapper"/>
</property>
<property name="arguments">
<list>
<util:constant static-field="com.fasterxml.jackson.databind.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES"/>
</list>
</property>
</bean>
<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"
p:supportedMediaTypes="application/json"
p:objectMapper-ref="jacksonObjectMapper"/>
<bean id="mappingJacksonJsonView" class="org.springframework.web.servlet.view.json.MappingJackson2JsonView"
p:extractValueFromSingleKeyModel="true"
p:objectMapper-ref="jacksonObjectMapper"/>
<!--
View resolver that delegates to other view resolvers based on the content type
-->
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<!-- All configuration is now done by the manager - since Spring V3.2 -->
<property name="contentNegotiationManager" ref="cnManager"/>
<property name="defaultViews">
<list>
<bean class="org.springframework.web.servlet.view.json.MappingJackson2JsonView" p:extractValueFromSingleKeyModel="true"
p:objectMapper-ref="jacksonObjectMapper"/>
</list>
</property>
<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>
</bean>