如题,假如在as中定义了一个Exam对象,在java中也定义了一个Exam对象,
<mx:RemoteObject id="firstRO" destination="FirstJavaClassRemoteObject"/>
              
                var exam:Exam=new Exam();
firstRO.sayHello(exam);
可不可以这样去调用java里面得方法,可我试过得不到Exam这个对象呀~~
请高手帮忙

解决方案 »

  1.   

    完全可以,BlazeDS会自动在AS类和Java类之间进行序列化和反序列化,但你必须说明AS类和Java类之间的映射关系:假设你的Java类是:package cn.qdqn.flex;
    public class Exam {
    String name;
    String course;
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public String getCourse() {
    return course;
    }
    public void setCourse(String course) {
    this.course = course;
    }
    }
    那你的相应AS类应该如下定义:[Bindable]
    [RemoteClass(alias="cn.qdqn.flex.Exam")]
    public class Exam{
    public var name:String;
    public var course:String;
    }
      

  2.   

    代码排版中UBB写法失效,哈哈重发一下AS类的写法:
    [Bindable]
    [RemoteClass(alias="cn.qdqn.flex.Exam")]
    public class Exam{
        public var name:String;
        public var course:String;
    }
    注意红色强调部分!
      

  3.   

    我是这么写的,可不知道为什么得到得是NULL