LCDS只能與J2EE的服務端進行通訊,目前只是ActionScript 3.0資料類型和資料類型的轉換.ActionScript 3.0與資料類型轉換是不對稱的.
ActionScript3.0向轉換時資料類型的對應關係:
ActionScript資料類型 -------------------java資料類型
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
XML Object -------------------org.w3c.dom.Document
Java向ActionScript 3.0轉換時資料類型對應
Java資料類型 -------------------ActionScript3.0資料類型
null -------------------null
java.lang.Number -------------------Number
java.lang.Number,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
class -------------------Object
LIST、ARRAYLIST ------------------- ArrayCollection
在使用LCDS調用的Java代碼的過程中資料類型的轉換是直接發生了,不需要顯性的調用.
如:通過JAVA返回一個ARRAYLIST,該ARRAYLIST裡放的一般是一個個的HASHMAP.如果通過RemoteObject(或其他方式)來調用該方法時,FLEX端接收到的肯定是個OBJECT,這個時候可以強制轉換成ArrayCollection.然後通過遍曆該ArrayCollection,來取得存每條資料的OBJECT(JAVA裡的HASHMAP). FLEX裡沒有MAP類,但JAVA裡MAP的KEY,那麼FLEX裡就可以作為OBJECT的一個屬性來訪問.