不建立As对象也可以实现Java对象的转换,flex相关jar包中Java对象转换到AS对象中间有个ASObject(一个java类继承MAP)他把Java类的属性读出放到其Map映射返回到flex前台就是ASObject了。
就是说new一个ASOBject,按照MAP设置好属性值,到前台就是一个ASObject对象,可以直接用该对象取值。
总结就是:
flex对象传到Java
(如果没经过绑定强转)都看成ASObject类型,ASObject为一个Map型集合可以通过类属性充当Key从中取值。
flex集合传到Java都看成flex.messaging.io.ArrayCollection类型,该集合实现List接口传递给flex,flex可以直接识别。
flexObjec <--> ASObject(flex.messaging.io.amf.ASObject) <---> javaObject
flexArray <--> ArrayCollection(flex.messaging.io.ArrayCollection) <---> javaArray(List)
例:我查询数据库返回ASObject到flex
import flex.messaging.io.ArrayCollection;
public ArrayCollection getSqlData(String sql)
{
ArrayCollection asList = new ArrayCollection(jdbc.getSqlData(sql));
return asList;
}