保存后,服务器的GWT对象图为空

时间:2012-02-01 03:32:33

标签: java gwt requestfactory gwt2

当我在客户端上创建新代理时,使用新的子代理列表,并将图表保存到服务器,我只返回根节点。我已经验证服务器正确保存图表并返回图表,但GWT无法将这些作为代理加载到客户端。

我有模特:

class TripProxy {
   List<PatronProxy> getPatrons();
   void setPatrons(List<PatronProxy> patrons);

   // some other fields
}

class PatronProxy {
   void setName(String name);
   String getName();
}

我的编辑器创建了一个新的旅程,可以将一个或多个顾客添加到旅行中。 save方法类似于:

Trip save(Trip trip);

它只是保存给定的内容并将其返回。为什么返回的旅行不包括附加的顾客?我正在通过调用save来指定一个正确的(...)语句。我知道这一点,因为当我后来编辑旅行时(刷新浏览器后),我能够看到顾客。

1 个答案:

答案 0 :(得分:1)

你说你“指定一个正确的(......)声明”但是你可以展示它吗?

因为with()仅与从服务器返回的内容有关,所以“我知道这个因为......”没有任何意义:它只验证您的对象这一事实已保存,并且检索方法的with()是OK,而不是save()方法的with()。

您对save()的致电应如下所示:

ctx.save(tripProxy).with("patrons").to(new Receiver<TripProxy>() { ... });

(如果你想在那里取消上下文而不是后来的话,可以用to()替换fire()