2011-07-01 10 views
0

FlashBuilderを使用してBlazeDSを使用してリモートJavaオブジェクトに接続すると、FlashBuilderはオブジェクトとリモートサーバの一致するローカルvalueObjectを自動的に作成します。FlashBuilderを使用してvalueObjectsに名前空間を追加する方法

ただし、リモートオブジェクトのパッケージ名が紛失してしまいます。

私は2つのリモートJavaオブジェクトcom.foo.Aとcom.bar.Aを持っているので、Flexでそれらを区別することはできません。だから私はリモートクラスcom.foo.AFoo、com.bar.ABarの名前をつけなければなりません。

良い方法がありますか?

答えて

0

私はあなたがなぜcom.foo.Aをflexエンドとjavaエンドで使用できないのか分かりません。個人的には、私はFlexプロジェクトの構造がJavaと非常に異なると考えています(JavaはDTOの命名を使用するのが好き、FlexはModelを使用しています)ので、RemoteClass metadataを使用してJava DTOをFlexモデルにバインドします。

+0

ありがとうございましたJ_A_X。これは、私が探していたよりも低いレベルの答えです。私はJavaBDOにバインドするFlexオブジェクトを自動的に作成するFlashbuilderを使用しています。だから、私の質問は、FlashbuilderにDTO名前空間に合致する名前空間を作成する方法をもっと得たことでした。 Flashbuilderが生成したコードでは、 'flash.net.registerClassAlias'を使ってオブジェクトをJava DTO名前空間にマップしています。私は、Flexプロジェクトモデルで名前空間を設定する良い方法を見つける必要があります。そのため、複数のFlexクラスに 'A'という名前を付けることができます。 –

0

Flexクラス名は重要ではなく、BlazeDSとの間でクラスを送受信するときに無視されます。

重要なことは、Flexクラスの[RemoteClass]メタデータで指定されている名前です。

例:フィールドの命名クラス内&性質は、実際のクラスのマッピング重要であるがここで

// Actionscript class Apple.as 
package com.mangofactory.sample 
{ 
    [RemoteClass(alias="org.orchard.Orange")] 
    public class Apple { 
     ... etc .... 

、ActionScriptクラスcom.mangofactory.sample.Appleは、Javaクラスにorg.orchard.Orange

をマッピングされていますメタデータを使用して明示的に指定されます。

+0

ありがとうマーティ - これは参考になります。以前のコメントによると、異なるFlexオブジェクトAが異なるJava DTOにマップできるようにFlashbuilderを駆動する方法を探しています。 –

関連する問題