2011-07-19 39 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主题属性,然后在客户端上执行查找。