2011-07-19 60 views
1

我有一個元素類型的對象,它有一個類型爲theme的屬性。當我創建一個新的元素由視圖中的主題選擇表示,並且主鍵是select中的項的值,當我使用json發送時,spring試着創建一個object元素並且顯示下一個錯誤在spring-mvc中將json解析爲其他對象屬性的java對象

/element:org.codehaus.jackson.map.JsonMappingException:無法構建com.example的實例。問題:找不到合適的創建者方法 at [Source:[email protected] ;行:1,柱:31]

這是我在彈簧代碼MVC中的控制器

@RequestMapping(method=RequestMethod.POST) 
public @ResponseBody String create(@RequestBody Element element){ 
    elementManager.saveElement(element); 
    return "exito"; 
} 

public class Element { 

private String name; 

private String type; 

private Theme theme; 

private String description; 

    // Get - Set 
} 

主題類

public class Theme { 

private String name; 

private String description; 

    // Get - Set 
} 

方法和JavaScript是此

$("#element").submit(function() { 
    var element = $(this).serializeObject(); 
    $.postJSON("element", element, function(data) { 
    }); 
return false; 
}); 

我希望有人能幫助我。

+0

你的主題類是什麼樣的? –

+0

是簡單的POJO,已經編輯帖子 – Alexander

+0

那麼實際的JSON會進來嗎?這是什麼樣子? –

回答

0

根據您的評論包含發送服務器的JSON,我會說這個問題是JSON本身。

您的服務器一起的臺詞期待值:

{"name":"rooms","type":"Doc","theme":{"name":"themeName", "description":"themeDescription"},"descrip‌​tion":"They are realy big"} 

你應該取從存儲在何處對象的主題,並創建正確的JSON。如果在客戶端查找Theme,則需要將元素更改爲String主題屬性,然後在客戶端上執行查找。