【发布时间】:2011-02-10 10:22:11
【问题描述】:
我有一个由 Java 服务器部分和 Flash/Flex 客户端组成的应用程序,它们都通过 BlazeDS 进行通信。为了在两个站点上拥有相同类型的对象,我使用 GAS3 代码生成器(由 flex-mojos 使用)。
但现在我面临处理可空整数的问题。问题是我有一个对象 (A),其中包含一个外键 ID,它引用了一个可选的对象 B。但我只将 ID 发送给 flex 客户端。
在 Java 网站上很容易:
class A {
private Integer bFk;
getter/setter
}
但在 flex 客户端,bFk 是 int 类型。 Flash int 不能为空。所以 远程处理机制将Java null Integer 转换为0。将其发送回服务器后,Java bFk 即使在Java 端也变为0。 – 这是不可接受的,因为我需要将 0 和 null 分开。
我的第一个解决方法不是在 Java 端使用 Integer,而是使用新的 Class NullAbleID,它有点像包装器/适配器,它包装一个内部 int,其中 -1 表示 null(我可以使用 -1 表示 null ,因为真实身份将是负数)。但是当我使用它时,这意味着我必须用这个 NullAbleID 类替换所有 Java Integer id。
因为我相信我不是第一个遇到这个问题的人,所以我要求您更好地解决一般性问题:如何在 Java - Flex 远程处理方案中表示可为空的整数?
(我知道问题:flex-null-integer,但即使是同一个问题,问题是关于另一个主题的。)
【问题讨论】:
标签: java apache-flex blazeds amf