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 に答える