【发布时间】:2012-12-19 13:36:06
【问题描述】:
ConfigProperty.idPropertyMap 在服务器端填写。 (通过日志输出验证)
在客户端访问它显示它是空的。 :-((通过日志输出验证)
这是一些默认行为吗? (我不这么认为)
问题是否可能与内部类ConfigProperty.IdPropertyMap、java.util.HashMap 的使用、序列化或某些字段访问修饰符问题有关?
感谢您的帮助
// 传输对象 公共类 ConfigProperty 实现 IsSerializable、Comparable { ... 静态公共类 IdPropertyMap 扩展 HashMap 实现 IsSerializable { ... } 受保护的静态 IdPropertyMap idPropertyMap = new IdPropertyMap(); ... } // 服务器服务 公共类 ManagerServiceImpl 扩展 RemoteServiceServlet 实现 经理服务 { ... 公共 IdPropertyMap getConfigProps(String timeToken) 抛出 ConfiguratorException { ... } }在一些好的答案后从下面添加(谢谢!):
回答底线:目前未实现/支持静态字段同步。某人/我必须提交功能请求
只是我的观点(GWT 坠入爱河的新人 :-)):
我非常了解(不完美!;-))“全局”变量同步的可能含义(依赖图或注释的使用可能很有用)。 但对于一个新的(其他经验丰富的 Java EE/web)用户来说,它看起来像这样:
您创建了一些
myapp.shared.dto.MyClass类(dto = 数据传输对象)您在其中添加一些静态字段,仅表示这些对象的集合(可能还有其他一些 DTO)
您也可以在客户端执行此操作,所有其他静态方法也可以正常工作
唯一不工作的是同步(首先这还不错)
但是:一些提供的注释,比如说@Transfer static Collection<MyClass> myObjList; 会很方便,因为我似乎知道这会带来的影响和好处。
在我的情况下,它相当简单,因为客户端更加静态,但如果 GWT 框架可以做到,则希望在不明确实现的情况下拥有这些数据。
【问题讨论】:
-
将
protected ... idPropertyMap更改为public ...没有帮助。 -
顺便说一句。我正在使用 GWT 2.5.0,运行时代码与 JRE 6 兼容,jre7x64bit 上的内部 Jetty,64bit jre7x64bit JVM 上的 Eclipse Juno 64bit,Win7 64bit
-
您可以将您的 cmets 添加到原始帖子中。
-
@Artemix:就是这样做的。谢谢
标签: gwt