0

次のJavaクラスがあると仮定します

public class Square {
        private Long id;

    private double sideLength;

    public void setSideLength(double sideLength) {
        this.sideLength = sideLength;
    }

    public double getSideLength() {
        return this.sideLength;
    }

    public double getArea() {
        return sideLength * sideLength;
    }

//another methods...

}

actionscriptクラス内で、RemoteObjectを使用して、JavaメソッドSquareDAO.findById(Long id)を呼び出し、次のオブジェクトを取得します。

object.id
object.sideLength

しかし、私はその地域を取得していません。getArea()メソッドを呼び出すにはどうすればよいですか?

4

1 に答える 1

1

リモート メソッドを (java、c#、php などから) 呼び出すと、呼び出されたメソッドによって返されたオブジェクトから取得されたシリアル化されたプロパティのみが返されます。Flex からメソッド getArea を呼び出す場合は、次の手順を実行する必要があります。

a) リモート クラス メタデータ [RemoteClass(alias="yourjavapackage.Square")] を持つ Square という ActionScript クラスを作成します。

b) メソッド getArea をクラス内に追加し、Java の場合と同じことを行います。

c) Java メソッドを呼び出し、AS クラスのインスタンスを返すことに注意してください。AS から getArea メソッドを呼び出せるようになりました

BlazeDS からのリモート サービスは複雑すぎて、記事で詳細を説明することはできません。BlazeDS 開発者ガイド (少なくともリモートの章) を読むことを強くお勧めします。

于 2010-07-16T21:10:34.823 に答える