当然,这个话题是建立在使用BlazeDS处理RemoteObject的情况下的。
1.List和Set
当Java返回List和Set的时候,Flex可以用ArrayCollection进行处理。
List list = new ArrayList();
list.add(new Users("abc", "123"));
list.add(new Users("efg", "123"));
list.add(new Users("hij", "456"));
return list;
Set set = new HashSet();
set.add(new Users("abc", "123"));
set.add(new Users("efg", "123"));
set.add(new Users("hij", "456"));
return set;
private function resultHandler(event:ResultEvent):void { var array:ArrayCollection = event.result as ArrayCollection; var str:String = ""; for(var i:int = 0; i < array.length; i++) { var anUser:Users = array.getItemAt(i) as Users; str += anUser.userName + ":" + anUser.passWord + "\n"; } resultMessage.text = str; }
2.Map
Map在actionscript中是视为Object的,只需知道Map的key,就可以用".key"来得到Map的value了。
Map map = new HashMap();
map.put("one", anUser);
map.put("two", anUser);
map.put("three", new Users("abc", "123"));
map.put("four", new Users("efg", "123"));
map.put("five", new Users("hij", "456"));
return map;
private function resultHandler(event:ResultEvent):void { var str:String = ""; var anUser:Users = event.result.one as Users; str += anUser.userName + ":" + anUser.passWord + "\n"; anUser = event.result.two as Users; str += anUser.userName + ":" + anUser.passWord + "\n"; anUser = event.result.three as Users; str += anUser.userName + ":" + anUser.passWord + "\n"; anUser = event.result.four as Users; str += anUser.userName + ":" + anUser.passWord + "\n"; anUser = event.result.five as Users; str += anUser.userName + ":" + anUser.passWord + "\n"; resultMessage.text = str; }