<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    【永恒的瞬間】
    ?Give me hapy ?

    <mx:RemoteObject?? id="RO" source="org.sjtu.se.Applex" fault="alert(fault.faultString, 'Error');">
    ??? <mx:method name="listPerson"/>
    </mx:RemoteObject>

    <mx:Model id="myModel">
    ??? {RO.listPerson.result}
    </mx:Model>

    <mx:DataGrid id="DG" with="100%" height="100%" dataProvider="{myModel}">
    ??? <mx:columns>
    ??????? <mx:array>
    ??????????? <mx:DataGridColumn headerText="Name" columnName="name"/>
    ??????????? <mx:DataGridColumn headerText="Age"? columnName="age"/>
    ????????</mx:array
    ??? </mx:columns>
    </mx:DataGrid>

    public class Person
    {
    ??? String name;
    ????int age;
    ??? //getters and setters here.
    ??? //getters and setters are must for Flex to access the data in object of
    ??? //this class
    }

    public List listPerson()
    {
    ??? List list = new ArrayList();
    ??? Person p1?= new Person("seafront", 22);
    ??? Person p2 = new Person("frontsea", 20);
    ??? list.add(p1); list.add(p2);
    ??? return list;
    }


    ?

    flex java 交互主要還是要關心這兩者之間的數據交互類型的轉換。 ActionScript java 的類型互換不是對稱的,見下面的表:

    ActionScript to Java

    ?ActionScript Type

    ?Java Type

    ?null

    ?null

    ?Number

    ?java.lang.Number

    ?Boolean

    ?java.lang.Number, booean,
    ?java.lang.String

    ?String

    ?java.lang.String, java.lang.Boolean
    ?boolean, java.lang.Character, char,
    ?java.lang.Number

    ?Date
    ?XML Object

    ?java.util.Date
    ?org.w3c.dom.Document

    ?????????????????????

    Java to ActionScript

    ?Java Type

    ?ActionScript Type

    ?null

    ?null

    ?java.lang.Number(class or primitive)

    ?Number

    ?java.lang.Boolean, boolean

    ?Boolean

    ?java.lang.String, java.lang.Character
    ?char[]

    ?String

    ?java.util.Collection, java.lang.reflect.Array

    ?Array

    ?java.util.Map, java.util.Dictionary

    ?Object

    ?org.w3c.dom.Document

    ?XML Object

    ?Other classes

    ?Object(typed)

    由上面兩表可以看到,一般的數據類型都可以很好的裝換,但是對于用戶自定義的類型的話,那么要不就是在 ActionScritp 中定義相關的數據類型,進行類型注冊,但是這樣兩者就太緊耦合了,覺得不是很好。另外的話可以看到, java 可以返回 Collection 類型的集合類給 ActionScript ,而 AS 使用是一數組來處理,就像前面例子里的一樣,雖然 Person 是自定義類,但是里面的成員都是基本 AS 可自動轉換的類型的,而把 Person 對象放在 List 里返回,然后 AS 通過數組 [] 操作符來訪問,直接操作 name age 成員變量。

    所以如果用 flex 作表現曾的話,那么對于 model 中的類,就可能要考慮這一點,有時候需要專門為 flex 編寫與其兼容的 model 類。可見兩種方法都需要額外的工作,根據不同情況來選擇就好。

    還有如果從 Flex 中提交一個 Array Java 方法中, java 方法以 Collection 來接受,如果 Array 不是常規數組,就是說數組元素不是用 index 來訪問,那么里面每個元素是一個 Map(HashMap), key 是這個數組訪問變量,比要把上面 datagrid dataProvider 提交大 java 方法中,那么 Map key 就是 name age ,使用 Map.get() 從而取出里面的數據。

    ?

    posted on 2007-03-02 12:38 ???MengChuChen 閱讀(5200) 評論(1)  編輯  收藏 所屬分類: flex2.0

    FeedBack:
    # re: flex:RemoteObject 和 DataGrid 數據交互, AS 與java 數據類型轉換 [未登錄]
    2009-06-25 18:48 | Luke
    columnName 這是個什么東西?我里面怎么死報錯。  回復  更多評論
      
    主站蜘蛛池模板: 亚洲性无码av在线| 四虎影视免费永久在线观看| 亚洲高清无码综合性爱视频| 亚洲精品人成网线在线播放va| 亚洲精品乱码久久久久蜜桃| 毛片视频免费观看| 亚洲中文字幕无码av永久| 毛片免费观看的视频| 亚洲AV无码一区二区大桥未久| 性盈盈影院免费视频观看在线一区| 亚洲色大成网站www尤物| 免费观看a级毛片| 亚洲精品无码乱码成人| 亚洲国产精品美女| 无码人妻精品一二三区免费| 亚洲欧美自偷自拍另类视| 777爽死你无码免费看一二区| 国产免费久久精品| 一级特黄a大片免费| 亚洲伊人色欲综合网| 久久99精品视免费看| 久久精品国产精品亚洲| 精品亚洲国产成人av| 久久久www成人免费毛片| 亚洲AV无码一区二区一二区| 亚洲精品成人久久久| 美女黄色免费网站| 亚洲人成网亚洲欧洲无码久久| 久久99热精品免费观看牛牛| 亚洲黄页网在线观看| 亚洲国产中文v高清在线观看| 叮咚影视在线观看免费完整版 | 亚洲色婷婷综合开心网| 成人自慰女黄网站免费大全| 麻豆亚洲AV永久无码精品久久| 九九99热免费最新版| 免费一级毛片免费播放| 亚洲成a人无码亚洲成www牛牛| 亚洲伊人久久成综合人影院| 亚洲精品在线免费观看视频| 青青视频免费在线|