ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
フォーラム一覧   -   トピック一覧
   超ビギナー
     (S2Flex2+S2Dao)でのFlex2-Java連携で分からないことがあります
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
cat
投稿日時: 2007-8-10 15:36
やや お馴染みさん
登録日: 2007-8-10
居住地:
投稿: 6
(S2Flex2+S2Dao)でのFlex2-Java連携で分からないことがあります
(S2Flex2+S2Dao)でのFlex2-Java連携で分からないことがあります

はじめまして。

S2Flex2+S2Daoを使ってJavaとActionsctiptの開発をおこなっております。
早速ですが質問です。

データベースから取得したレコードをJava側のDTOクラスに格納し、Flex側に渡しているのですが、
DTOクラスに格納したときはレコードの値がDTO型でしたが、Flex側に戻ってきたときはObject型に変換されてました。

これはなぜでしょうか?

何分、初心者で分からないことばかりです。
よろしくお願いします。
nobu
投稿日時: 2007-8-10 15:54
ご主人様
登録日: 2006-6-17
居住地:
投稿: 593
Re: (S2Flex2+S2Dao)でのFlex2-Java連携で分からないことがあります
>catさん

いらっしゃいませ(謎)

引用:

データベースから取得したレコードをJava側のDTOクラスに格納し、Flex側に渡しているのですが、
DTOクラスに格納したときはレコードの値がDTO型でしたが、Flex側に戻ってきたときはObject型に変換されてました。
これはなぜでしょうか?


Flex->Java、Java->Flexでオブジェクトのやりとりをする際は、
オブジェクトの変換が行われます。S2Flex2の場合は、以下のような
変換ルールでデータがやりとりされています。


■JavaクラスとAS3クラスの変換マッピング
http://s2flex2.sandbox.seasar.org/ja/java2as3mapping.html

■AS3のクラスとJavaクラスの変換マッピング
http://s2flex2.sandbox.seasar.org/ja/as3Tojavamapping.html


で、Flex->Javaの場合は、Flex側のDTOに[RemoteClass(alias="")]
で定義されているJava側のクラスにマッピングされます。その逆の
場合、Java側のカスタムクラスはFlexのObjectクラスとして取得
されます。
取得結果をFlex側のDTOで扱いたい場合は、Resultイベント内のイ
ベントオブジェクトのresultを任意のDTOクラスでキャストするこ
とで扱う事ができるようになります。

ex.


private function remoteOnResultHandler(e:ResultEvent):void
{
  var dto:HogeDto = e.result as HogeDto;

  Alert.show(dto.name);
}



いかがでしょ?
cat
投稿日時: 2007-8-10 16:08
やや お馴染みさん
登録日: 2007-8-10
居住地:
投稿: 6
Re: (S2Flex2+S2Dao)でのFlex2-Java連携で分からないことがあります
早速のご回答ありがとうございます。
試してみます。
cat
投稿日時: 2007-8-10 17:01
やや お馴染みさん
登録日: 2007-8-10
居住地:
投稿: 6
Re: (S2Flex2+S2Dao)でのFlex2-Java連携で分からないことがあります
試してみましたが上手くいきません。

Javaのサービスを呼び出した後の処理は以下のように書いています。
private function onServiceLoadResult(event:ResultEvent, token:Object=null):void {
  var flowDto:FlowDto = event.result as FlowDto;
    ・
    ・
    ・
}

またFlexに渡しているFlowDtoは以下のような構成になっており、
DocumentDtoはObject型に変換されませんが、ProcessChecksDtoのみ変換されてしまいます。
FlowDto
  l_ NodeDto
     l_ ProcessInformationDto
        l_ DocumentDto
        l_ ProcessChecksDto
higayasuo
投稿日時: 2007-8-11 8:33
やや 常連さん
登録日: 2007-2-13
居住地:
投稿: 29
Re: (S2Flex2+S2Dao)でのFlex2-Java連携で分からないことがあります
AS側で[RemoteClass(alias="...")]の指定がもれているか、
Java側のパッケージとあってないのではないかと思います。

Java側がaaa.bbb.CccDtoならAS側も
RemoteClass(alias="aaa.bbb.CccDto")]で
ASのパッケージ構成もJavaとあわせる必要があります。
cat
投稿日時: 2007-8-11 12:04
やや お馴染みさん
登録日: 2007-8-10
居住地:
投稿: 6
Re: (S2Flex2+S2Dao)でのFlex2-Java連携で分からないことがあります
ありがとうございます。
解決しました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を