[Seasar-user:6259] Re: [S2Flex2] Array型からjava.util.List型への変換

jun funakura [E-MAIL ADDRESS DELETED]
2007年 2月 20日 (火) 22:46:57 JST


小林さんへ

ふなくら(nod)です。
はじめまして。

> S2Flex2を使用して開発を行っていますが、S2Flex2のドキュメントで不明な点があります。
>
> AS3でArrayを、引数がList<Bean>のServiceのメソッドで、受け取ろうとしたところ、
> Java側に値が渡ってこずにnullが設定されています。

これは、S2Flex2 1.0.0の時の仕様でした。
1.0.0ではFlex側でArrayを渡したときにはObject[]で受け取るようになっています。
パラメータはListで受け取ることができません。

1.0.1ではこの変換をするクラス名を変更した上でdiconファイルの切り替えで
Listでも受け取ることが可能になっています。

ご指摘頂いたドキュメントのdiconファイルの切り替えで対応とあるのは
1.0.1の内容になります。

> 1. どのdiconファイルをどのように切り替えるということでしょうか。

remoting_amf3.diconを変更することで対応できます。
http://s2flex2.sandbox.seasar.org/ja/releasenotes101.html
に少しだけ書きました。

<component class="org.seasar.flex2.rpc.remoting.service.adjustor.impl.ArrayArgumentAdjustorImpl">
<property name="converter">
<component
class="org.seasar.flex2.util.converter.impl.ObjectToCollectionConverterImpl"/>
</property>
</component>
のように変更すれば受け取れるようになると思います。
この内容は追記するようにいたします。

> 2. この切り替えで、AS3のArray型をJavaの型のListに変換することができるようになると
> いうことでしょうか。

はい。できるようになります。
例としては以下のようなコードで確認しています。

AS---
public function getTypeADto():void
{
  var ar:Array = new Array(2);
 ar[0]="deo";
 ar[1]="dei";
 paramCheckService2.getTypeADto(ar);
 }

java---
       public TypeADto getTypeADto(List l);


以上よろしくお願いいたします。m(__)m

--
ふなくら

07/02/20 に 小林正和<[E-MAIL ADDRESS DELETED]> さんは書きました:
> masapon1967 です。
>
> S2Flex2を使用して開発を行っていますが、S2Flex2のドキュメントで不明な点があります。
>
> AS3でArrayを、引数がList<Bean>のServiceのメソッドで、受け取ろうとしたところ、
> Java側に値が渡ってこずにnullが設定されています。
>
> AS3とJavaの変換(http://s2flex2.sandbox.seasar.org/ja/as3Tojavamapping.html)で
> AS3の型がArrayの行で、Javaの型はObject[]となっており、対応する型バインディングが
> Bean[]、java.util.List *1 と記述してあります。
> *1 は、「diconファイルで切り替えることで対応」と記述してあるのですが、これは
> 1. どのdiconファイルをどのように切り替えるということでしょうか。
> 2. この切り替えで、AS3のArray型をJavaの型のListに変換することができるようになると
> いうことでしょうか。
>
> よろしく御願いします。
>
> --
> ----------------------------------------------
> Masakazu Kobayashi ([E-MAIL ADDRESS DELETED])
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>



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