Spring的Controller中某個方法參數加了@RequestBody之後請求無法進入方法

遇到上述問題,先檢查JS的Ajax相關代碼有沒有寫對,模版如下:

[javascript] view plain copy
  1.                      $.ajax({  
  2.     type : 'POST',  
  3.     dataType : 'json',  
  4.     url : getRootPath() + '/require/publish',  
  5.     data : JSON.stringify(mydata),  
  6.     contentType : "application/json",  
  7.     success : function(data) {  
  8.         alert("發佈成功!");  
  9.     },  
  10.     error : function(data){       
  11.         alert(JSON.stringify(mydata));                    
  12.     }                 
  13. });  

如果寫對了,檢查後臺Controller代碼,如果也是對的,只能說明,配置文件沒配好。

一定是漏了Jackson相關jar包,需要3個jar包,下載之後導入:

jackson-annotations-2.6.jar

jackson-databind-2.6.jar

jackson-core-2.6.jar


同時在springmvc-servlet.xml中增加配置:

[html] view plain copy
  1. <!-- json轉換器 -->  
  2. <bean  
  3.     class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">  
  4.     <property name="messageConverters">  
  5.         <list>  
  6.             <ref bean="mappingJackson2HttpMessageConverter" />  
  7.         </list>  
  8.     </property>  
  9. </bean>  
  10. <bean id="mappingJackson2HttpMessageConverter"  
  11.     class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">  
  12.     <property name="supportedMediaTypes">  
  13.         <list>  
  14.             <value>text/html;charset=UTF-8</value>  
  15.             <value>text/json;charset=UTF-8</value>  
  16.             <value>application/json;charset=UTF-8</value>  
  17.         </list>  
  18.     </property>  
  19. </bean>  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章