关于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就错了。