我的Java后台返回了List数据类型的数据,我在Flex前端通过ArrayCollection接收的,将返回值绑定到我的ComboBox上,可是运行了之后,不知道怎么回事,我的那个comboBox下拉列表框出现的就是【object object】,很多的这样的值,我很是想不通,太奇怪了!!!!!
15 个解决方案
#1
高手们,怎么没反应啊!!!赶紧过来帮我看看哈,不甚感激!!!!在此先谢过了!!
#2
labelField 属性没有设置。
#3
设置labelField为你要显示的属性就行了
#4
我也出现这个原因 不过我的有主外键的关联 外键是object 其他的就有值了
#5
不对,不是的,我的那个labelField是设置了的。不是这个原因!!!高手们,帮我看看还有没有其他的原因呀???问题还在这,一直解决不了!!!!
#6
数据源是什么样子的?贴出来看看
#7
List<Authority> l = q.list();
List l2 = null;
if (l.size()!=0) {
l2 = new ArrayList();
for(int i=0;i<l.size();i++){
HashMap hm = new HashMap();
hm.put("rid",""+((Authority)l.get(i)).getRid());
hm.put("rname",""+((Authority)l.get(i)).getRname());
l2.add(hm);
}
}
return l2;
高手,这个是我的数据源呀,在Eclipse中调试能取到我返回的值的,应该没什么问题吧???我觉得不关数据源的事情,还是Flex和Java衔接部分出故障了!!!你觉得呢????
List l2 = null;
if (l.size()!=0) {
l2 = new ArrayList();
for(int i=0;i<l.size();i++){
HashMap hm = new HashMap();
hm.put("rid",""+((Authority)l.get(i)).getRid());
hm.put("rname",""+((Authority)l.get(i)).getRname());
l2.add(hm);
}
}
return l2;
高手,这个是我的数据源呀,在Eclipse中调试能取到我返回的值的,应该没什么问题吧???我觉得不关数据源的事情,还是Flex和Java衔接部分出故障了!!!你觉得呢????
#8
我是说你flex端接收的数据样子!
既然能出现Object说明数据是到了的。不过对于属性值是没有绑定正确。
#9
<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="712" height="563" showCloseButton="true" title="新建用户" x="288" y="226" xmlns:ns1="ui.panel.admin.*" initialize="getPos()">
<mx:Script>
<[CDATA[
import mx.collections.ArrayCollection;
import mx.controls.List;
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
[bindable]
private var posArray:ArrayCollection = new ArrayCollection();
function getPos():void{
hasuser.getRoles();
}
function getPosition(event:ResultEvent):void{
posArray = ArrayCollection(event.result);
position.dataProvider = posArray;
}
function close():void{
trace(""+position.selectedItem.rid);
}
]]>
</mx:Script>
<mx:RemoteObject id="hasuser" destination="islogin">
<mx:method name="getRoles" result="getPosition(event)"/>
</mx:RemoteObject>
<mx:ComboBox x="426" y="249" id="position" width="160.75" editable="false" color="#0B333C" fontSize="12" prompt="请选择职位..." fontWeight="bold" labelField="rname" close="close()"></mx:ComboBox>
</mx:TitleWindow>
这个是我的前端呀,看看,是不是前端出的问题,应该也不至于吧???
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="712" height="563" showCloseButton="true" title="新建用户" x="288" y="226" xmlns:ns1="ui.panel.admin.*" initialize="getPos()">
<mx:Script>
<[CDATA[
import mx.collections.ArrayCollection;
import mx.controls.List;
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
[bindable]
private var posArray:ArrayCollection = new ArrayCollection();
function getPos():void{
hasuser.getRoles();
}
function getPosition(event:ResultEvent):void{
posArray = ArrayCollection(event.result);
position.dataProvider = posArray;
}
function close():void{
trace(""+position.selectedItem.rid);
}
]]>
</mx:Script>
<mx:RemoteObject id="hasuser" destination="islogin">
<mx:method name="getRoles" result="getPosition(event)"/>
</mx:RemoteObject>
<mx:ComboBox x="426" y="249" id="position" width="160.75" editable="false" color="#0B333C" fontSize="12" prompt="请选择职位..." fontWeight="bold" labelField="rname" close="close()"></mx:ComboBox>
</mx:TitleWindow>
这个是我的前端呀,看看,是不是前端出的问题,应该也不至于吧???
#10
属性值是没有绑定正确????不就是 position.dataProvider = posArray; 这样子么??难道不是???
#11
怎么没人说话了呢????
#12
楼主为什么java代码里要用map啊,
你这既然已经有这个数据了,List<Authority> l = q.list();
为什么还要放到map里面呢?
你这既然已经有这个数据了,List<Authority> l = q.list();
为什么还要放到map里面呢?
#13
呵呵,搞错了搞错了!!谢谢各位的答复,我已经清楚我的问题所在了,真的非常感谢!!!
#14
我结贴咯!!!!
#15
现在的我也遇到同样的问题了,楼下回答一下...
#1
高手们,怎么没反应啊!!!赶紧过来帮我看看哈,不甚感激!!!!在此先谢过了!!
#2
labelField 属性没有设置。
#3
设置labelField为你要显示的属性就行了
#4
我也出现这个原因 不过我的有主外键的关联 外键是object 其他的就有值了
#5
不对,不是的,我的那个labelField是设置了的。不是这个原因!!!高手们,帮我看看还有没有其他的原因呀???问题还在这,一直解决不了!!!!
#6
数据源是什么样子的?贴出来看看
#7
List<Authority> l = q.list();
List l2 = null;
if (l.size()!=0) {
l2 = new ArrayList();
for(int i=0;i<l.size();i++){
HashMap hm = new HashMap();
hm.put("rid",""+((Authority)l.get(i)).getRid());
hm.put("rname",""+((Authority)l.get(i)).getRname());
l2.add(hm);
}
}
return l2;
高手,这个是我的数据源呀,在Eclipse中调试能取到我返回的值的,应该没什么问题吧???我觉得不关数据源的事情,还是Flex和Java衔接部分出故障了!!!你觉得呢????
List l2 = null;
if (l.size()!=0) {
l2 = new ArrayList();
for(int i=0;i<l.size();i++){
HashMap hm = new HashMap();
hm.put("rid",""+((Authority)l.get(i)).getRid());
hm.put("rname",""+((Authority)l.get(i)).getRname());
l2.add(hm);
}
}
return l2;
高手,这个是我的数据源呀,在Eclipse中调试能取到我返回的值的,应该没什么问题吧???我觉得不关数据源的事情,还是Flex和Java衔接部分出故障了!!!你觉得呢????
#8
我是说你flex端接收的数据样子!
既然能出现Object说明数据是到了的。不过对于属性值是没有绑定正确。
#9
<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="712" height="563" showCloseButton="true" title="新建用户" x="288" y="226" xmlns:ns1="ui.panel.admin.*" initialize="getPos()">
<mx:Script>
<[CDATA[
import mx.collections.ArrayCollection;
import mx.controls.List;
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
[bindable]
private var posArray:ArrayCollection = new ArrayCollection();
function getPos():void{
hasuser.getRoles();
}
function getPosition(event:ResultEvent):void{
posArray = ArrayCollection(event.result);
position.dataProvider = posArray;
}
function close():void{
trace(""+position.selectedItem.rid);
}
]]>
</mx:Script>
<mx:RemoteObject id="hasuser" destination="islogin">
<mx:method name="getRoles" result="getPosition(event)"/>
</mx:RemoteObject>
<mx:ComboBox x="426" y="249" id="position" width="160.75" editable="false" color="#0B333C" fontSize="12" prompt="请选择职位..." fontWeight="bold" labelField="rname" close="close()"></mx:ComboBox>
</mx:TitleWindow>
这个是我的前端呀,看看,是不是前端出的问题,应该也不至于吧???
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="712" height="563" showCloseButton="true" title="新建用户" x="288" y="226" xmlns:ns1="ui.panel.admin.*" initialize="getPos()">
<mx:Script>
<[CDATA[
import mx.collections.ArrayCollection;
import mx.controls.List;
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
[bindable]
private var posArray:ArrayCollection = new ArrayCollection();
function getPos():void{
hasuser.getRoles();
}
function getPosition(event:ResultEvent):void{
posArray = ArrayCollection(event.result);
position.dataProvider = posArray;
}
function close():void{
trace(""+position.selectedItem.rid);
}
]]>
</mx:Script>
<mx:RemoteObject id="hasuser" destination="islogin">
<mx:method name="getRoles" result="getPosition(event)"/>
</mx:RemoteObject>
<mx:ComboBox x="426" y="249" id="position" width="160.75" editable="false" color="#0B333C" fontSize="12" prompt="请选择职位..." fontWeight="bold" labelField="rname" close="close()"></mx:ComboBox>
</mx:TitleWindow>
这个是我的前端呀,看看,是不是前端出的问题,应该也不至于吧???
#10
属性值是没有绑定正确????不就是 position.dataProvider = posArray; 这样子么??难道不是???
#11
怎么没人说话了呢????
#12
楼主为什么java代码里要用map啊,
你这既然已经有这个数据了,List<Authority> l = q.list();
为什么还要放到map里面呢?
你这既然已经有这个数据了,List<Authority> l = q.list();
为什么还要放到map里面呢?
#13
呵呵,搞错了搞错了!!谢谢各位的答复,我已经清楚我的问题所在了,真的非常感谢!!!
#14
我结贴咯!!!!
#15
现在的我也遇到同样的问题了,楼下回答一下...