如何从一个地方到另一个地方获得一个对象?GWT活动和地点通过参考
例如,我有一个ContactsView和一个Contacts表以及相应的ContactsActivity/Place类。如果我想编辑联系人,我点击表格行并转到ContactEditorPlace。 ContactEditorView如何获取联系人进行编辑?
我所看到的例子似乎没有在场所中传递实际的对象引用,但是他们却遇到了传递String或id(例如Expenses样本)的麻烦。除了简单的标记化之外,是否有任何其他原因?是否有某些原因引用不应在某个地方?
如果未在ContactEditorPlace的构造函数中设置对象引用,那么它如何获取ContactEditorActivity?这可以通过EventBus来完成,但是将单个引用传递给单个活动将成为很多样板。
我会说我没有使用RequestFactory。
谢谢jonasr。当然,对象本身并不是令牌。在我的情况下,该对象有一个可以用作令牌的ID。但标记化是另一个问题。我想我问是否有一个设计上的缺点让Place有状态,但是因为Javadoc for Place期望它实现equals()我想Place可以在它中有对象引用。 – Glenn 2011-06-07 19:58:40
将对象放置在您的位置而不仅仅是它的ID不会使其成为“有状态”。唯一的缺点是我能看到的是,“处理”这个地方的代码(你的ContactEditorActivity)将不得不迎合对象不在那里的情况(因为这个地方已经从一个历史令牌重新构建),这导致更复杂的代码。我认为总体思路是要传递ID,但是有一些缓存机制,这样您就可以从ID中取回对象,而无需与服务器联系。 – 2011-06-08 08:43:05