我有问题要了解Request工厂发送给服务器的内容。我有一个方法
Request<NodeProxy> persist(NodeProxy node)
NodeProxy是一个来自树状结构的Object(具有子节点和一个父节点,所有类型都是NodeProxy)。我只更改节点中的一个属性并调用persists。
现在的问题是发送到服务器的是什么?
在这里的码头https://developers.google.com/web-toolkit/doc/latest/DevGuideRequestFactory
有:
“在客户端,RequestFactory跟踪已修改的对象并仅向服务器发送更改,从而产生非常轻量级的网络负载。”
在同一个停靠栏中,在“实体关系”一章中,还有以下内容:
“RequestFactory在一个请求中自动发送整个对象图。”
我想知道我该怎么理解这一点。
我的问题: 我的树结构可以变得很大,可以说是50个节点。问题是,为了更新一个属性,方法
public IEntity find(Class<? extends IEntity> clazz, String id)
在班级
public class BaseEntityLocator extends Locator<IEntity, String>
为图中的每个对象调用,这是不可接受的。
提前谢谢。
答案 0 :(得分:1)
你遇到的问题是RequestFactory在获取属性时会自动edit()
代理,并且在构造请求有效负载时会出现一个错误,即使用这种方式隐式编辑整个代理图,即使你没有亲自打电话给吸气者
该错误会产生很多影响,包括RequestContext
isChanged()
{{1}}中的误报:http://code.google.com/p/google-web-toolkit/issues/detail?id=5952
我非常希望这将在GWT 2.5中修复(将在未来几周内发布)。