专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Flex

RemoteObject 返回值的有关问题,请帮忙

发布时间:2011-06-27 20:43:39 文章来源:www.iduyao.cn 采编人员:星星草
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
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: