使用BlazeDS实现java与flex传对象时,RemoteClass中包含自己写的
环境:BlazeDS 3.0.0.544 ?http://fandayrockworld.iteye.com/blog/966236 BlazeDS很好的帮助我们实现java对象和Flex对象的相互转化,减少了我们的硬编程量,很方便。 但是最近遇到一个问题,描述如下: ? java 中有两个类,其中一个类中有一个变量是另一个类的类型,如下:
? 这样,如果想通过BlazeDS实现Flex和java的对象传递,必须在Flex中同样写两个类:
//?假设两个类不在一个包中??
? 但是,这样写编译器就会报错了,很简单,原因是MyClass没有引入InnerMyClass,为了不报错,我们通常情况下会这么做: 修改MyClass为:
import?b.vo.InnerMyClass;//?加了这句话??
?
这样我们就向后台传值,但是后台取到的是什么对象呢? 是不是MyClass呢? -- 很遗憾的告诉大家,不是。 那是什么呢? -- HashMap。 为什么会是这样呢? -- 这个请参阅BlazeDS的官方文档。 我们应该怎么做才能让后台取到的是一个MyClass对象呢? -- 像下面似的把MyClass改为:
//?import?b.vo.InnerMyClass;//?去掉这句话??
?
这样java端就能取到MyClass的对象了。 ? 至于为什么加上import就取不到MyClass对象,这个我还没研究出来,期待大家探讨。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |