在我的gwt-app中,我有一些共享所有除前綴之外的地方(如「editUserPlace」和「showUserPlace」 - 狀態由userId決定) 我目前的嘗試是通過「ShowUserPlace」和「EditUserPlace」擴展一個抽象的「UserPlace」,它們只有一行不同:@Prefix(「showUser」)/ @Prefix(「editUser」) - 洞標記器代碼必須被複制我不能繼承令牌處理器的代碼,但覆蓋前綴)。共享所有除前綴或使用方法的地方PlaceHistoryMapperWithFactory
in https://groups.google.com/d/topic/google-web-toolkit/pghMLX27Y4Y/discussion托馬斯建議使用「PlaceHistoryMapperWithFactory」,但我堅持下去。
我必須爲每個地方/標記器(也適用於「正常」的地方 - 提供自己的標記器)提供方法嗎? 我是否必須將我的Abstract和/或擴展類廣告到@WithTokenizer? 如何/我應該在哪裏調用setFactory?
有沒有人使用過PlaceHistoryMapperWithFactory(可能是類似的用例)?並提供一些建議? 有人遇到同樣的問題,並以另一種方式解決它嗎?
thx澄清托馬斯。由於我使用杜松子酒怎麼/在哪裏調用setFactory?可能onModuleLoad(它是「private final ClientInjector injector = GWT.create(ClientInjector.class);」)之後? 你可能做了一些複製粘貼失敗?我想前綴和方法名稱應該是不同的?! – dermoritz 2012-04-11 07:06:11
我有點問題:如何實現UserPlaceTokenizer?它是否應該實現這兩種(PlaceTokenizer和... )或者它是通用的? - PlaceTokenizer <?擴展UserPlace>不工作。 –
dermoritz
2012-04-11 07:26:11
已更新的答案(您必須爲'getPlace'提供特定於地點的代碼,就像您自己想象的那樣)。至於GIN,您可以在提供者(或提供者方法)中自己執行'GWT.create()'+'setFactory';或者簡單地在你的映射器接口中重寫'setFactory'並用'@Inject'註釋它(GIN應該在它的'GWT.create()'接口之後調用它)。 – 2012-04-11 12:34:29