`
caijingbin0207
  • 浏览: 106946 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flex中ArrayCollection 与java中的ArrayList互转

    博客分类:
  • FLEX
阅读更多

               FlexArrayCollection java中的ArrayList互转

 

这里说这是Flexremoting传一个ArrayCollection到后台(后台也用ArrayCollection接参)之后如何转成ArrayList.

(具体操作如将Flex页面的DataGrid中的若干内容添加到DataBase中)

 

public ArrayList convertArrayCollection(ArrayCollection array){

        ArrayList myObjectArray = new ArrayList();

        ASTranslator ast = new ASTranslator();

        ModuleVO myObject;

        ASObject aso;

 

        for (int i=0;i < array.size(); i++){

            myObject = new ModuleVO ();

            aso = new ASObject();

 

            aso = (ASObject) array.get(i);

            aso.setType("com.hospital.vo.ModuleVO");

            myObject = (ModuleVO) ast.convert(aso, ModuleVO.class);

            myObjectArray.add(myObject);

        }

        return myObjectArray;

    }

 

FlexVO

package vo

{

       [Bindable]

       public class ModuleVO

       {

              public var num:Number;

             

              public var MID:int;

              public var MCode:String;

              public var MCN:String;

              public var MEN:String;

              public var MState:int;

             

              public function fill(obj:Object):void{

                     for(var i:* in obj){

                            this[i]=obj[i];

                     }

              }

 

       }

}

 

JavaModuleVO

package com.hospital.vo;

 

public class ModuleVO {

       public Number num;

 

       public int MID;

       public String MCode;

       public String MCN;

       public String MEN;

       public int MState;

       public Number getNum() {

              return num;

       }

       public void setNum(Number num) {

              this.num = num;

       }

       public int getMID() {

              return MID;

       }

       public void setMID(int mid) {

              MID = mid;

       }

       public String getMCode() {

              return MCode;

       }

       public void setMCode(String code) {

              MCode = code;

       }

       public String getMCN() {

              return MCN;

       }

       public void setMCN(String mcn) {

              MCN = mcn;

       }

       public String getMEN() {

              return MEN;

       }

       public void setMEN(String men) {

              MEN = men;

       }

       public int getMState() {

              return MState;

       }

       public void setMState(int state) {

              MState = state;

       }

}

 

JavaconvertArrayCollection里面的数据:

       public boolean addMV( ArrayCollection ModuleList) {

                    

              ArrayList al = this.convertArrayCollection(ModuleList) ;

for(Iterator i = al.iterator(); i.hasNext();)    {  

            String MID = ((ModuleVO)i.next()).getMID()+""; 

            System.out.println(MID);

           

                     String sql = "insert into T_ModuleV (MVID, MID, MState) values " +

                                   "("+MVID+", "+MID+", "+MState+") ; ";

                     System.out.println(sql);

        }  

   }

 

       Flex端传过来的ArrayConllection转为Java端的ArrayList

       public ArrayList convertArrayCollection(ArrayCollection array){

        ArrayList myObjectArray = new ArrayList();

        ASTranslator ast = new ASTranslator();

        ModuleVO myObject;

        ASObject aso;

 

        for (int i=0;i < array.size(); i++){

            myObject = new ModuleVO();

            aso = new ASObject();

 

            aso = (ASObject) array.get(i);

            aso.setType("com.hospital.vo.ModuleVO");

            myObject = (ModuleVO) ast.convert(aso, ModuleVO.class);

            myObjectArray.add(myObject);

        }

        return myObjectArray;

    }

 

其实传一个对象集合到后台的话直接在后台用ArrayList接参就可以(java端传到Flex端也是一样),只不过ArrayCollectionvo对象要和后台中的bean对应起来(属性名一样,否则接不到值),需要注意的是Flexvo对象中的属性要用public.

 

 

Flex端传给Java端一个ArrayCollectionJava端用ArrayList接收,之后循环遍历ArrayList,强转,就会取到Flex端传过来的值

 

For(int I = 0; i<arrayList.size();i++ ){

       HashMap map = (HashMap)arrayList.get(i) ;

       String A = map.get(“FlexVO的字段名”).toString() ;

}

 

 

0
5
分享到:
评论

相关推荐

    Flex类图和与Java交互时类型转换对照.rar

    在Flex应用程序中,我们通常使用AMF(Action Message Format)作为数据交换格式,这使得Flex可以与后端服务器(如Java应用服务器)进行高效的数据通信。本压缩包文件“Flex类图和与Java交互时类型转换对照.rar”显然...

    Flex类图和与Java交互时类型转换对照

    - `Array`:Flex中的数组对应Java的`ArrayList`或`Array`,但在AMF中,它会被序列化为`java.util.ArrayList`。 - `Object`:在AS3中,动态对象可以映射到Java的`Map`或自定义类,具体取决于字段结构。 3. **日期...

    flex中RemoteObject与java的通信

    ### Flex中RemoteObject与Java的通信 在Flex开发过程中,实现客户端与服务器端的数据交互是一项基本而又关键的任务。其中,`RemoteObject`是Adobe Flex框架提供的一个强大的组件,它允许Flex应用程序通过AMF...

    Flex+Java连接SQLServer.pdf

    7. ArrayList与ArrayCollection的转换:在Java中,使用ArrayList存储数据,但在Flex中,这些数据将被解析为ArrayCollection,因此,当数据从Java传递到Flex时,需要注意这种类型转换。 8. Flex与Java的集成:在Flex...

    Flex通过Java读取Excel(详细流程)

    在这个过程中,Java使用POI API读取Excel文件,将数据加载到内存中,通常存储在一个`ArrayList`或`ArrayCollection`中。POI3.7是提到的一个特定版本,提供了对Excel文件的处理功能。 2. **Blazeds传递数据**:...

    flex+java+mysql

    ArrayCollection是Flex中的一种动态数组容器,可以方便地与数据绑定控件进行交互,展示在用户界面上。 4. **数据库连接**:`ConnectionFactory`类未在给出的代码中定义,但通常它会提供一个静态方法`getConnection...

    Flex连接数据库三种方法

    - 调用RemoteObject的方法,当服务端返回数据后,可以通过事件监听器处理数据,将ArrayList转换为Flex能识别的数据结构,如ArrayCollection。 4. **展示数据**: - 将从服务端获取的公告数据绑定到Flex界面组件,...

    Flex连接数据库三种方法.docx

    通过以上步骤,你可以在Flex应用中实现与Java后台的数据库交互。这种方式的优点在于,Flex负责前端展示,而复杂的数据库操作交由Java处理,两者通过RemoteObject进行通信,使得职责分离,提高了代码的可维护性和可...

    Java2ActionScript 工程源码

    例如,Java的`ArrayList`可能需要映射到ActionScript的`ArrayCollection`。 3. **接口支持**:Java的接口机制需要在ActionScript中适当地表示,可能通过使用ActionScript的接口或抽象类来实现。 4. **异常处理**:...

    flex 树状图

    Flex是一种基于...在Java环境中,Flex可以借助BlazeDS等工具与后端进行高效的数据交换,使得树状图在实际应用中更具灵活性和实用性。在ChartDemo这个项目中,我们可以期待看到一个既美观又实用的树状图示例。

Global site tag (gtag.js) - Google Analytics