我试图通过如下所示进行Ajax DWR调用,将一串数据从javascript传递给java函数:
var str11 = {
"78965":{"age":"34yrs","height":"4"},
"44589":{"age": "32yrs", "height": "99yrs"}
};
person= 233453;
Person.saveSelected(planOid,
str11,
{
callback:savedValues,
errorHandler:handleError
}
);
但是在我的Java类的另一端,即PersonService.java
,我成功地收到了两个参数,但是当我检查散列图时,它采用如下形式:
{
44589={age:reference:c0-e5, height:reference:c0-e6},
78965={age:reference:c0-e2, height:reference:c0-e3}
}
我无法理解为什么参考。相反,我期待一个合适的hashMap。任何人都可以解决DWR编组问题在幕后的问题吗?
答案 0 :(得分:0)
Map<String, Object>
不足以让DWR知道要实例化哪个对象。所以你必须使用Map<String, YourConcreteClass>
(在你的情况下是一个集合)。
这意味着您不能在地图中使用不同类型的值(在您的情况下这不应该是问题)。