首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

关于RemoteClass的有关问题

2013-01-01 
关于RemoteClass的问题我想用flex和java通信,,返回的结果是一个Person的对象,但是Person有个car对象但是呢

关于RemoteClass的问题
我想用flex和java通信,,返回的结果是一个Person的对象,但是Person有个car对象
但是呢,我RemoteClass(alias="test.Person")只能得到Person。。没有Car,在Car那里添加RemoteClass(alias="test.Car")好像也不行。

下面是代码:

flex的代码


package test
{[Bindable]
[RemoteClass(alias="test.Person")]
public class Person
{
    public var  id:int;
    public var  name:String;
    public var  car:Car;
    public function Person()
  {
  }

}
}


package Car
{[Bindable]
[RemoteClass(alias="test.Car")]
public class Person
{
    public var  id:int;
    public var  name:String;
    public function Car()
  {
  }

}
}


java代码

package test;
public class Person{
private Integer id;
private String name;
private Car car;
      ....  set get 省略
}

package test;
public class Car {
private Integer id;
private String name;
      ....  set get 省略
}



然后是mxml里面的as代码


  //登录返回结果处理方法
private function loginHandler(event:ResultEvent):void{
var p:Person=event.result as Person;
var car:Car=p.car;
                                     Alert.show(car.name);
 }


结果就是空指针,,因为找不到car.所以。。希望高手帮忙。。
[解决办法]
在FLEX里面定义POJO类,你要在你的Person类里面把Car导入进去
import test.Car;
[Bindable]
[RemoteClass(alias="test.Person")]
....
你在FLEX里面返回Car对象的值,你的方法是正确,
 //登录返回结果处理方法 
private function loginHandler(event:ResultEvent):void{ 
var p:Person=event.result as Person; 
var car:Car=p.car; 
你这里event.result是返回的一个值吗?如果是一个就是正确,如果是返回的List就错了。

热点排行