我需要你的幫助與GWT requestfactoryGWT RequestFactory:發送變化兩次
考慮以下情形:
我得到一個現有實體(比方說,一個發票)從服務器:
InvoiceEntityProxy invoice = request1.getInvoice();
我想做出一些改變,所以我有一個新的請求編輯:
InvoiceEntityProxy editableInvoice = request2.edit(invoice);
//make some changes to editableInvoice
現在我仙d與第二請求到服務器所做的更改,來創建預覽:
request2.createPreview(editableInvoice);
當請求被髮送,發票代理被凍結,通過指定代理到一個新的請求,我重新啓用編輯:
editableInvoice = request3.edit(editableInvoice);
如果一切順利,我想更新代理,並將其發送給服務器,採用最新的請求:
request3.update(editableInvoice);
但變化的服務器上永遠不會到來,因爲日e最近的請求(request3)不知道對分配給request2的代理所做的更改。
我想到了以下解決方案:
- 我可以重做最新代理的變化。但是爲此,我必須迭代所有屬性並重新設置它們(不是非常友好的解決方案,因爲每次向代理添加一些屬性時都要調整方法)
- 另一種方法是發送沒有id的proyx到服務器並且發送id作爲更新方法的第二個參數。但這是一個恥辱,因爲不僅deltas會被髮送到服務器(這是requestFactory的一個特性)。
那麼什麼是最好的和最常見的做法是讓request3知道已經對代理進行了更改,並將其分配給另一個請求。
歡迎您:),您還應該標記(+1)幫助解答,這樣幫助的人可以在堆棧溢出中獲得「良好的排名」,這對他們「作爲聲譽」以及對於那些閱讀它們「作爲可靠性指標」。在遊戲中收集積分以在這裏收集積分有點令人上癮:p 最好的問候 –
呵呵,我想爲你的帖子投票,但我還沒有足夠的聲望。我會盡快:-) – user1215985