访问flex对象中的java方法

时间:2010-07-16 19:06:12

标签: java flex actionscript remoteobject

假设我有以下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:

object.id
object.sideLength

但是我没有得到这个区域。我怎样才能调用方法getArea()?

1 个答案:

答案 0 :(得分:1)

当调用远程方法(来自java,c#,php等)时,您将只收回从被调用方法返回的对象中获取的序列化属性。如果要从Flex调用方法getArea,则应执行以下操作:

a)创建一个名为Square的ActionScript类,其中包含远程类元数据[RemoteClass(alias =“yourjavapackage.Square”)]

b)在类中添加方法getArea,就像在Java中一样。

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

调用getArea方法

来自BlazeDS的远程服务太复杂,不能在帖子中详细解释,我强烈建议花点时间阅读BlazeDS开发人员指南,至少是远程章节。