Flex Collection的处理方法

Flex Java端返回Collection的处理方法

对于Java端返回的各种Java类型的对象,Flex中能否有相应的数据类型来映射。处理,尤其是ListSetMapPOJO对象值。

 

1、java端

HelloWorldService.java

import java.util.ArrayList;

import java.util.HashMap;

import java.util.HashSet;

import java.util.List;

public class HelloWorldService {

public String hello(String var1) {

return "hello " + var1;

}

public String world(String var1) {

return "world " + var1;

}

public Map<String,List<String>> getMap() {

ArrayList<String> list1=new ArrayList<String>();

list1.add("value11");

list1.add("value12");

list1.add("value13");

ArrayList<String> list2=new ArrayList<String>();

list2.add("value21");

list2.add("value22");

list2.add("value23");

ArrayList<String> list3=new ArrayList<String>();

list3.add("value31");

list3.add("value32");

list3.add("value33");       

HashMap<String,List<String>> map=new HashMap<String,List<String>>();

map.put("key1", list1);

map.put("key2", list2);

ap.put("key3", list3);       

return map;

}

public ArrayList<Person> getList() {

ArrayList <Person> list=new ArrayList<Person>();

Person p1=new Person();

p1.setName("name1");

p1.setPass("pass1");

Person p2=new Person();

p2.setName("name2");

p2.setPass("pass2");

Person p3=new Person();

p3.setName("name3");

p3.setPass("pass3");

list.add(p1);

list.add(p2);

list.add(p3);

return list;

}

public Set<Person> getSet() {

HashSet<Person>  set=new HashSet<Person>();

Person p1=new Person();

p1.setName("name1");

p1.setPass("pass1");

Person p2=new Person();

p2.setName("name2");

p2.setPass("pass2");

Person p3=new Person();

p3.setName("name3");

p3.setPass("pass3");

set.add(p1);

set.add(p2);

set.add(p3);

return set;

}

}

       Person.java

public class Person {

private String name;

private String pass;

public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

    public String getPass() {

        return pass;

    }

    public void setPass(String pass) {

        this.pass = pass;

    }

}

      

 

    2、flex端RemoteObject

<mx:RemoteObject destination="test1" id="test1">

<mx:method name="hello" result="sayHelloResult(event)"/>

<mx:method name="world" result="sayWorldResult(event)"/>

<mx:method name="getMap" result="getMapResult(event)"/>

<mx:method name="getList" result="getListResult(event)"/>

<mx:method name="getSet" result="getSetResult(event)"/>

</mx:RemoteObject>

       ActionScript

<mx:Script>

<![CDATA[

    import mx.collections.ArrayCollection;

        import mx.rpc.events.FaultEvent;

        import mx.controls.Alert;

        import mx.rpc.events.ResultEvent;

        import com.yeeach.Person;

        [Bindable]

        public var person:Person;

        [Bindable]

        public var map:ArrayCollection=null;

        function sayHello(event:Event):void

        {

            var inputVar:String=inputStr.text;

            test1.hello(inputVar);

        }

        function sayWorld(event:Event):void

        {

            var inputVar:String=inputStr.text;

            test1.world(inputVar);

        }

        private function sayHelloResult(event:ResultEvent):void

        {

            result.text=event.result.toString();

            Alert.show(event.result.toString(), "返回结果");

        }

        private function sayWorldResult(event:ResultEvent):void

        {

            result.text=event.result.toString();

            Alert.show(event.result.toString(), "返回结果");

        }

        //***************map

        private function getMapResult(event:ResultEvent):void

        {

            for (var key:String in event.result)

            {

                var list:ArrayCollection=event.result[key] as ArrayCollection;

                for (var key1:Object in list)

                {

                    Alert.show("map item key is: " + key + " value is: " + key1);

                }

            }

        }

        private function getList():void

        {

            test1.getList();

        }

        //***************list

        private function getListResult(event:ResultEvent):void

        {

            var ac:ArrayCollection=event.result as ArrayCollection;

            for (var i:int=0; i < ac.length; i++)

            {

                var p1:Person=ac.getItemAt(i) as Person;

                Alert.show("list item name is: " + p1.name+" \n another usage : "+ac.getItemAt(i).name);

            }

        }

        private function getSet():void

        {

            test1.getSet();

        }

        //***************set

        private function getSetResult(event:ResultEvent):void

        {

            var ac:ArrayCollection=event.result as ArrayCollection;

            for (var i:int=0; i < ac.length; i++)

            {

                var p1:Person=ac.getItemAt(i) as Person;

                Alert.show("set item name  is: " + p1.name);

            }

        }           

    ]]>

</mx:Script>

 

       3、总结

       aJavaBeanJava端返回给Flex,可以通过FlexMeta Tag [RemoteClass (alias=“”)]来标识服务器端对应的Java的类(一般为POJO对象)。

注意位置,是在class声明前。

    bJava Collection返回给Flex,都可以通过转化为mx.collections.ArrayCollection来进行处理。

    cFlex对于服务器端返回的java其他类型的处理,相对简单,可以参考

http://livedocs.adobe.com/flex/3/html/help.html?content=data_access_4.html

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值