当然,这个话题是建立在使用BlazeDS处理RemoteObject的情况下的。
1.List和Set
当Java返回List和Set的时候,Flex可以用ArrayCollection进行处理。
java代码
- List list = new ArrayList();
- list.add(new Users( "abc" , "123" ));
- list.add(new Users( "efg" , "123" ));
- list.add(new Users( "hij" , "456" ));
- return list;
java代码
- Set set = new HashSet();
- set.add(new Users( "abc" , "123" ));
- set.add(new Users( "efg" , "123" ));
- set.add(new Users( "hij" , "456" ));
- return set;
flex代码
- 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了。
java代码
- 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;
flex代码
- 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;
- }