如何從一個地方到另一個地方獲得一個對象?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