首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BlazeDS -从Java端的ArrayList <BaseClass>到Actionscript的转换

BlazeDS -从Java端的ArrayList <BaseClass>到Actionscript的转换
EN

Stack Overflow用户
提问于 2010-03-16 05:04:09
回答 1查看 1.1K关注 0票数 2

所以我们有一个带有两个泛型ArrayLists的java类。看起来像是

代码语言:javascript
复制
public class Blah
{
   public ArrayList<ConcreteClass> a;
   public ArrayList<BaseClass> b;
}

通过在ActionScript类中使用ArrayElementType('ConcreteClass'),我们能够获得所有“a”的转换结果。然而,对于"b",因为实际的类是BaseClassImplementation1、BaseClassImplementation2等类的异构混合,所以它被类型化为对象。假设客户端上存在java类的强类型AS版本,是否有办法将其转换为特定的具体类?

谢谢你的帮忙!Regis

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-16 16:28:18

为了确保所有的DTO类都被编组到AS和Java中,您需要通过使用"RemoteClass“属性来将每个远程类定义为as中的”远程类“,该属性指向java类定义,如下面的RemoteClass(alias="com.myco.class")。

BlazeDS将在类被序列化/反序列化时对其执行内省,并对其进行适当的转换(参见下面的文档)。类如何打包或嵌套在数组中并不重要,只要它可以被内省,它就应该工作。

如果你需要一个类的特殊序列化,你可以创建你自己的序列化代理(称为beanproxy),方法是扩展"AbastractProxy“,并在启动时使用PropertyProxyRegistry注册方法将它们加载到blazeds中。

您可以在Blaze开发人员指南http://livedocs.adobe.com/blazeds/1/blazeds_devguide/中找到大部分内容。

创建你自己的here代理类看这里: //livedocs.adobe.com/blazeds/1/javadoc/flex/messaging/io/BeanProxy.html

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2450479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档