2011-01-27 27 views
2

我试图传递数据的一个字符串,它是通过使如下一个Ajax DWR调用从Javascript脚本,Java函数一个HashMap:无法得到适当的HashMap的DWR调用

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的另一端,我收到两个则params的成功,但是当我审视HashMap中需要如下形式:

{ 
44589={age:reference:c0-e5, height:reference:c0-e6}, 
78965={age:reference:c0-e2, height:reference:c0-e3} 
} 

我无法理解为什么引用。相反,我期待一个正确的hashMap。任何人都可以在幕后解决DWR编组的问题吗?

+0

你可以发布你的Java对象的Java代码,你正在放置在哈希映射(年龄和身高)? – 2011-02-17 20:18:16

回答

0

Map<String, Object>是不够具体,DWR知道哪个对象实例。所以你将不得不使用Map<String, YourConcreteClass>(在你的情况下集合)。

这意味着你不能在你的地图值使用不同类型的(这不应该是你的情况的问题)。