我真的不明白PlaceTokenizer正在做什麼? 他是否將地點的類名轉換爲字符串,以便gwt歷史機制可以使用它將其放入瀏覽器url?多數民衆贊成在我所知道但我不知道這是否正確。gwt PlaceTokenizer實際上做了什麼?
回答
首先,PlaceTokenizer
僅在結合使用的發電機PlaceHistoryMapper
(如果你GWT.create()
擴展PlaceHistoryMapper
的接口,即,你是自由的,而不是實現該接口在具體的類,如果你喜歡)。生成器強制歷史記號標記(URL中的#
之後的部分)由前綴和地方標記組成。前綴用於與給定的PlaceTokenizer
類型匹配,並且由標記器上的@Prefix
標註給出,或者它默認爲由標記器處理的位置的簡單名稱。
解析當歷史令牌(當handleCurrentHistory()
被稱爲在初始化時,或當您瀏覽使用瀏覽器的歷史),之後前綴已被匹配到PlaceTokenizer
和標記生成器的實例被檢索(從工廠如果使用PlaceHistoryMapperWithFactory
或使用其默認的零參數構造函數創建),則位置令牌被傳遞給getPlace
方法,並且令牌生成器預期實例化與位置令牌對應的位置。
當序列化的地方(當通過PlaceController#goTo(Place)
在應用中導航),一個標記生成器是基於所述地點(針對標記生成器的通用參數匹配的)的類型檢索和地點被給予getToken
,這是預計將返回一個地方代幣的地方。然後PlaceHistoryHandler
將預先添加前綴並更新URL。
的地方令牌可以是任何東西,而是基於由地方(其字段)包含的數據,而不是它的類型(這是反映作爲歷史令牌的前綴)
謝謝!你的回答非常有幫助。 – nomnom
- 1. Arduino F():它實際上做了什麼
- 2. numpy.cov實際上做了什麼
- 3. ADMManifest.checkManifestAuthoredProperly()實際上做了什麼?
- 4. LD_INCLUDE_PATH實際上做了什麼嗎?
- 5. android:stretchMode實際上做了什麼?
- 6. CascadeType.REFRESH實際上做了什麼?
- 7. session_register_shutdown實際上做了什麼?
- 8. CloudQueue.EndAddMessage(IAsyncResult)實際上做了什麼?
- 9. Int [] Reverse - 這實際上做了什麼?
- 10. e.preventDefault()方法實際上做了什麼?
- 11. Python的__file__實際上做了什麼?
- 12. std :: ofstream :: close()實際上做了什麼?
- 13. XCode'Clean'實際上做了什麼?
- 14. 實際上做了什麼glutswapbuffers?
- 15. Sinatra :: Base.condition實際上做了什麼?
- 16. NSLog實際上做了什麼?
- 17. SetPriorityClass(REALTIME_PRIORITY_CLASS)實際上做了什麼?
- 18. TwoPassFilter GPUImage實際上做了什麼?
- 19. terraform刷新實際上做了什麼?
- 20. SpringClassRule/SpringMethodRule實際上做了什麼?
- 21. IMetadataExchange端點實際上做了什麼?
- 22. Android SQLite - SQLiteDatabase.replace()實際上做了什麼?
- 23. MvcBuildViews實際上做了什麼嗎?
- 24. pdb文件實際上做了什麼?
- 25. regsvr32 filename.ax實際上做了什麼?
- 26. BlockingCollection.Dispose實際上做了什麼?
- 27. ld -m --verbose實際上做了什麼?
- 28. ifstream :: rdbuf()實際上做了什麼?
- 29. TortoiseSVN清理實際上做了什麼?
- 30. Process.Dispose()實際上做了什麼?
的https: //developers.google.com/web-toolkit/doc/latest/DevGuideMvpActivitiesAndPlaces#Places和T Broyers解釋此處 - https://groups.google.com/forum/?fromgroups=#!topic/google-web-toolkit/ tSaVtGvrVH0 – SSR