读书人

RemoteObject 返回值的有关问题请帮

发布时间: 2012-03-11 18:15:39 作者: rapoo

RemoteObject 返回值的问题,请帮忙

Java code
<mx:RemoteObject id="ro" destination="addTaskList" endpoint="/MBS/messagebroker/amf">    <mx:method name="getComputerList" result="getComResult(event)" /></mx:RemoteObject>private init(){    ro.getComputerList();}public function getComResult(e:ResultEvent):void{    var arr:ArrayCollection = e.result as ArrayCollection;}


RemoteObject 调用java 类的方法 返回一个 ArraryList (ArraryList里存放的都是java been的实体对象)。

var arr:ArrayCollection = e.result as ArrayCollection;
把返回的ArraryList 转化为ArrayCollection ,这样写正确吗?
然后如何得到ArrayCollection 里面的java对象?请帮忙,很迷茫,谢谢各位!!!

[解决办法]
var arr:ArrayCollection = e.result as ArrayCollection
这样写对啊

然后遍历ArrayCollection它就能得到数据了
[解决办法]
最好在flex端也建立一个JavaBean,绑定java的JavaBean
如:java - UserInfo flex对应写个UserInfo

for each(var u:UserInfo in arr){
Alert.show(u.userName);
}

如果flex不写一个实体bean,可以
for each(var u:Object in arr){
Alert.show(u.userName);
}
[解决办法]
如果你是有JAVA POJO类,那是可以直接转换的,java和flex结合的很好。

如果没有,那么你的遍历数据集乐。。

转换请使用。var arr:ArrayCollection = ArrayCollection(e.result)
不要使用as ArrayCollection,有个时候会出错。。
[解决办法]
试试楼上的方法var arr:ArrayCollection = ArrayCollection(e.result)

as ArrayCollection 这个as是类型转换,如果前面的数据不是ArrayCollection 就会返回null。
但ArrayCollection(e.result)不同,如果里面的类型不是ArrayCollection 他会创建一个ArrayCollection 对象里面的source内容是e.result

读书人网 >flex

热点推荐