假设我有以下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()?
答案 0 :(得分:1)
当调用远程方法(来自java,c#,php等)时,您将只收回从被调用方法返回的对象中获取的序列化属性。如果要从Flex调用方法getArea,则应执行以下操作:
a)创建一个名为Square的ActionScript类,其中包含远程类元数据[RemoteClass(alias =“yourjavapackage.Square”)]
b)在类中添加方法getArea,就像在Java中一样。
c)调用java方法并注意它将返回AS类的实例。现在您可以从AS
调用getArea方法来自BlazeDS的远程服务太复杂,不能在帖子中详细解释,我强烈建议花点时间阅读BlazeDS开发人员指南,至少是远程章节。