2011-07-19 7 views
1

私はtype要素のオブジェクトを持っていて、これにはtypeという属性の属性があります。私は新しい要素を作成するときにビューでテーマ選択によって表され、プライマリキーは選択項目の値です。jsonと一緒に送信すると、springがオブジェクト要素を作成しようとし、次のエラーが表示されますspring-mvcで他のオブジェクトの属性を持つJavaオブジェクトにjsonを解析する

/element:org.codehaus.jackson.map.JsonMappingException:com.example.Themeのインスタンスを作成できません。問題:適切な作成者メソッドが見つかりませんでした。 [ソース:[email protected] ;行:1、カラム:31]

これはコントローラでMVC

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 
} 

方法

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

春に自分のコードであるとJavaScriptでありますこの

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

誰かが私を助けてくれることを願っています。

+0

Themeクラスはどのように見えますか? –

+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テーマ属性を持つように要素を変更し、クライアントでルックアップを行う必要があります。

関連する問題