[Seasar-user:9655] Re: TeedaAjaxで配列を渡す方法について

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2007年 8月 3日 (金) 12:01:26 JST


米林です。

----- Original Message ----- 
From: "石井 博之" <[E-MAIL ADDRESS DELETED]>
Sent: Thursday, August 02, 2007 12:14 PM


> TeedaAjaxについて、再度質問があります。
>
> バージョンは1.0.8です
> Seasarのバージョンは2.4.13を使用しています。
>
> 今、2つの複数選択可能なリストボックスを用意して、片方のリストが複数選択された
ら、
> もう片方のリストボックスを更新するというロジックをTeedaAjaxで実装しています。
>
>
> TeedaAjaxのSmartDeployを使用し、Pageクラス側で、選択値をInteger型の配列で用意
しています。
> ところが、JavaScript側から、配列の値を  Kumu.Ajax.executeTeedaAjaxメソッドを使
用して、
> Pageクラス側に渡そうとすると、java.lang.IllegalArgumentException: argument
> type mismatchとなり、渡すことが出来ません。
>
> Pageクラス側
> private Integer[] id;
> //GetterとSetterは省略させていたたぎます
>
> Javascript側
> var id = new Array(2) ;
> id[0] = "0" ;
> id[1] = "1"
>
Kumu.Ajax.executeTeedaAjax(example_exampleCreateInitPage_ajaxGetCompanyItems,{"i
d" :id}, Kumu.Ajax.RESPONSE_TYPE_TEXT);配列を渡したいのですが、何か方法等がある
のでしょうか?よろしくお願いします。

方法としては、2つあります。

1.自前でカンマ区切りの文字列としてPageクラスでは
 String型で受取る方法です。
 # TeedaAjaxで配列のパラメータをそのままPageクラスに
 # マッピングする機能は現在ありません。

2.Kumu.JSONSerializerを使う方法。
 詳しくは、以下の"JSONの文字列化"を参考にして下さい。
 http://teeda.seasar.org/ja/kumu_ajax.html

宜しくお願いします。
---
米林 正明
[E-MAIL ADDRESS DELETED]




Seasar-user メーリングリストの案内