深入學習FlexJava數(shù)據(jù)模型
在學習Flex的過程中,你可能會遇到FlexJava數(shù)據(jù)類型的問題,這里和大家分享一下,由于目前LCDS只能與J2EE的服務端進行通信,所以目前只是ActionScript3.0數(shù)據(jù)類型和Java數(shù)據(jù)類型的轉(zhuǎn)換。但是ActionScript3.0與Java數(shù)據(jù)類型轉(zhuǎn)換是不對稱的。
FlexJava數(shù)據(jù)類型
目前LCDS只能與J2EE的服務端進行通信,所以目前只是ActionScript3.0數(shù)據(jù)類型和Java數(shù)據(jù)類型的轉(zhuǎn)換。ActionScript3.0與Java數(shù)據(jù)類型轉(zhuǎn)換是不對稱的。
◆ActionScript3.0向Java轉(zhuǎn)換時數(shù)據(jù)類型的對應關(guān)系
ActionScript數(shù)據(jù)類型-------------------Java數(shù)據(jù)類型
null-------------------null
Number-------------------java.lang.Number
Boolean-------------------java.lang.Number,boolean,java.lang.String
String-------------------java.lang.String,java.lang.Boolean,boolean,java.lang.Character,char,java.lang.Number
Date-------------------java.util.Date
XMLObject-------------------org.w3c.dom.Document
================================================
◆Java向ActionScript3.0轉(zhuǎn)換時數(shù)據(jù)類型對應
Java數(shù)據(jù)類型-------------------ActionScript3.0數(shù)據(jù)類型
null-------------------null
java.lang.Number-------------------Number
java.lang.Number,boolean-------------------Boolean
java.lang.String,java.lang.Characterchar[]-------------------String
java.util.Collection,java.lang.reflect.Array-------------------Array
java.util.Map,java.util.Dictionary-------------------Object
org.w3c.dom.Document-------------------XMLObject
其他claess-------------------Object
在使用LCDS調(diào)用的Java代碼的過程中數(shù)據(jù)類型的轉(zhuǎn)換是直接發(fā)生了,不需要顯性的調(diào)用。
補:JAVA里的LIST、ARRAYLIST對應到Flex里可以用ArrayCollection來接收。
eg:通過JAVA寫一個連接ORACLE的方法,返回一個ARRAYLIST,該ARRAYLIST里放的一般是一個個的HASHMAP。如果通過RemoteObject(或其他方式)來調(diào)用該方法時,F(xiàn)lex端接收到的肯定是個OBJECT,這個時候可以強制轉(zhuǎn)換成ArrayCollection。然后通過遍歷該ArrayCollection,來取得存每條數(shù)據(jù)的OBJECT(JAVA里的HASHMAP)。
Flex里沒有MAP類,但只要你知道了JAVA里MAP的KEY,那么Flex里就可以作為OBJECT的一個屬性來訪問。參考資料:精通Flex3.0--基于ActionScript3.0實現(xiàn)
【編輯推薦】
- 解析Flex的幾個瓶頸問題
- 探秘Flex與JavaScript交互
- 學習總結(jié) 在Flex中如何嵌入Flex字體
- 揭開Flex正則表達式的神秘面紗
- FlexBuilder開發(fā)方法及特點解析