纯AS3项目中 使用blazeds与java后端通信的时候 java.util.List无法转换成as3 Array
在Flex项目中我们可以使用as ArrayCollection 来映射java.util.Collection 而纯的as3项目中没有使用到flex的包所以是没有ArrayCollection这个类的
为了解决这个问题我需要在blazeds的配置文件service-config.xml文件的<channel-definition>子节点中加入如下配置
<channel-definition id="my-amf"
class="mx.messaging.channels.AMFChannel">
<endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amf"
class="flex.messaging.endpoints.AMFEndpoint" />
<properties>
<polling-enabled>false</polling-enabled>
<serialization><legacy-collection>true</legacy-collection></serialization>//该行就是需要加入的配置
</properties>
</channel-definition>
legacy-collection默认为false 此时序列化的java.util.collection会转换成as ArrayCollection
设置为true时就可以成功转换成as Array了
本文介绍了解决BlazeDS在与纯AS3项目进行通信时,如何将Java的List转换为AS3中的Array。通过调整BlazeDS配置文件service-config.xml中的设置,启用legacy-collection选项,可以实现这一目标。
722

被折叠的 条评论
为什么被折叠?



