3

我正在尝试通过如下进行 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 编组的问题吗?

4

1 回答 1

0

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

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

于 2011-03-11T08:44:12.697 回答