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) 创建一个名为 Square 的 ActionScript 类,该类具有远程类元数据 [RemoteClass(alias="yourjavapackage.Square")]

b) 在你的类中添加一个 getArea 方法,做与 Java 相同的事情。

c) 调用 java 方法并注意它将返回您的 AS 类的实例。现在您可以从 AS 调用 getArea 方法

BlazeDS 的远程服务过于复杂,无法在帖子中详细解释,我强烈建议花一些时间阅读 BlazeDS 开发人员指南,至少是远程章节。

于 2010-07-16T21:10:34.823 回答