<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 閱讀(5206) 評論(1)  編輯  收藏 所屬分類: flex2.0

    FeedBack:
    # re: flex:RemoteObject 和 DataGrid 數據交互, AS 與java 數據類型轉換 [未登錄]
    2009-06-25 18:48 | Luke
    columnName 這是個什么東西?我里面怎么死報錯。  回復  更多評論
      
    主站蜘蛛池模板: 在线观看视频免费完整版| 国产一级a毛一级a看免费人娇| 1区2区3区产品乱码免费| 国产亚洲AV无码AV男人的天堂| 久久精品国产亚洲av瑜伽| 午夜免费不卡毛片完整版| 亚洲欧美日韩中文二区| 国产一精品一AV一免费孕妇| 亚洲黄色激情视频| 亚洲色婷婷六月亚洲婷婷6月| 青青免费在线视频| 日本高清在线免费| 亚洲精品国产精品国自产网站| 国产男女爽爽爽爽爽免费视频| 亚洲天堂2016| 国产精品无码一二区免费 | 亚洲精品国产自在久久| 成人a毛片视频免费看| 亚洲区小说区图片区QVOD| 久久这里只精品国产免费10| 天天干在线免费视频| 亚洲乱码国产一区网址| 中国人免费观看高清在线观看二区| 国产亚洲综合一区柠檬导航| 亚洲免费中文字幕| 亚洲人成网站免费播放| 亚洲午夜av影院| 99久久免费中文字幕精品| 亚洲性无码AV中文字幕| 亚洲精品无码专区久久同性男| 久久99毛片免费观看不卡| 亚洲国产精品久久网午夜| 国产男女性潮高清免费网站 | 国外亚洲成AV人片在线观看| 免费在线观看一级片| 亚洲人成在线中文字幕| 国产va在线观看免费| 亚洲香蕉久久一区二区三区四区| 亚洲阿v天堂在线2017免费| 免费A级毛片无码A∨| 国产亚洲高清在线精品不卡|