2015-10-25 55 views
1

我使用AJAX從數據庫中獲取Company對象的列表。我已將@ResponseBody添加到我的控制器方法中。和jackson-mapper-asl依賴關係。下面是AJAX調用:從Spring 4控制器返回Java對象列表到AJAX

$.ajax({ 
     type : 'GET', 
     url : $("#contextpath").val() + '/getCompanyList', 
     success : function(response) { 
      alert(response); 
     } 
    }); 

控制器的方法:

@RequestMapping(value="/getCompanyList", method=RequestMethod.GET) 
public @ResponseBody List<Company> getCompanyList() { 
    logger.debug("reached controller getCompanyList"); 
    return companyServices.getCompanyList(); 
} 

但我得到錯誤

沒有轉換器發現類型的返回值:類java.util.ArrayList

其次,有沒有辦法將Java對象的列表返回給AJAX而無需轉換它到JSON?

回答

2

但我得到錯誤

看起來像你缺少一個Ajax LIB(傑克遜爲例)或轉換器沒有註冊,也許是MIME類型(映射)丟失

有沒有辦法將Java對象列表返回給AJAX而不將其轉換爲JSON?

對於服務器和客戶端之間的會話,需要將轉換日期序列化爲某種格式,然後客戶端將其反序列化。 (典型的格式是Json,XML和許多不同的二進制格式)。對於AJAX,通常使用JSON(並非經常使用XML)。要回答你的問題:你可以使用其他格式(例如XML),但你必須序列化它! 但JSON對客戶端和服務器端的AJAX有最好的支持

相關問題