引数の配列・・・データ型によってはエラー(DWR)

ajax処理でDWRはとても便利ですが、よくハマルので「身が引き締まる思い(?)」です。

さて、今回はパラメータに配列を使った場合にチョイとヤラカシました。

以前にやったのは、ちゃんと上手く動作したのですよ。

hogeMng.hoge(param, function(result) { ….hoge…});
ここで、paramは受け側のjavaでlong[]で、問題なかった。

で、今度は同様な感じで、paramを受け側javaでString[]でやったら、「Input parameter probably is not an object. (Missing: {).」と、怒られちゃいます。

どうやらDWR君は配列がプリミティブ型であれば通るのに、オブジェクト型だとダメな感じです。

※ もちろん連想配列にして「クラス」としてパラメータ渡しするのはバッチリですが、たかだか文字列配列がダメ。

で、悩んで試して、落ちついた対処が、受け側のパラメータをString[]ではなくList<String>にすることで動作しました。

もっと、カッチョ良い方法もあるカモですが、「javascript側の配列は、javaではListで受ける」ってのでとりあえず許してね。

Categories: Mighty構想 Tags:
  1. No comments yet.