flex和java的问题

我是用blazeds来通信的,已经断点确认flex调到了java的方法。问题是:我的java方法返回了List类型的值,在flex里试过用ArrayCollection和... 我是用blazeds来通信的,已经断点确认flex调到了java的方法。问题是:我的java方法返回了List类型的值,在flex里试过用ArrayCollection和List来接收,都是空值。代码如下:
java方法:
public List showAll(){
List l=new ArrayList();
Book b=new Book();
b.setAuth("James Gosling");
b.setBookName("《Java编程规范》");
b.setPrice("30.00");
b.setPublish("出版社01");
b.setType("计算机软件");
Book b1=new Book();
b1.setAuth("朱平,王连清");
b1.setBookName("实用激光针灸手册");
b1.setPrice("16.00");
b1.setPublish("人民军医出版社");
b1.setType("医学");
l.add(b);
l.add(b1);
return l;
}
flex接收:
var bookList:ArrayCollection;
public function showAll():ArrayCollection{
bookList=checkBooks.showAll() as ArrayCollection;
myDG.dataProvider=bookList;
return bookList;
}断点发现这bookList是空的。请问原因出在哪呢,不胜感激
展开
 我来答
匿名用户
2012-08-24
展开全部
在flex里有<!-- 将非可视元素(例如服务、值对象)放在此处 -->
<s:RemoteObject id="checkBooks" destination="¥¥¥">
<s:method name="showAll" result="$$$(event)" fault="$$$$$(event)"/>
</s:RemoteObject>
调用远程对象方法showAll后面有个result属性实现某方法,在方法中这个event.result as ArrayCollection 获得的值给你定义的bookList就得到值了
梦境哥哥
2012-08-22 · TA获得超过376个赞
知道小有建树答主
回答量:338
采纳率:0%
帮助的人:140万
展开全部
bindable一下booklist吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友470168c9
2012-08-22
知道答主
回答量:44
采纳率:0%
帮助的人:14万
展开全部
检查一下blazeds的remote层配置文件,看看是否有将这个函数配进去。

有一段时间没用这个框架了,有点生疏,期待其他大神的解答。
更多追问追答
追问
断点能进入java函数的代码,表明配置无误了吧。。其实返回字符串还是可以的,返回集合就不行了
追答
之前用spring+blazeds+mina,没有出现过这种问题耶。。。是不是flex没有bind booklist
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
九爸爸爱钓鱼
2012-08-23 · TA获得超过126个赞
知道答主
回答量:51
采纳率:100%
帮助的人:51.9万
展开全部
1.checkBooks.showAll() 先看看这段代码能不能返回数据,如果能返回数据就说明在类型转换的时候出错了(as ArrayCollection),如果不能返回数据,就说明checkBooks.showAll() 并没有被填充数据。
2.如果Java端返回的List集合不为空,那你就得看看直接返回List集合是否合适。或许在你们公司的协议里面并没有办法直接返回List集合。再看看公司的协议,看看什么类型的Java对象在被转换成为xml的时候,能被Flex端解析。(我之前的公司用的是TableEntity进行解析的不能直接返回List集合)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式