2011-11-15 48 views
2

從wicket 1.4遷移到wicket 1.5後,我可以看到有關網址的新行爲。每個頁面都有?[0-9] +,例如http://mywickethomepage.com/?0http://mywickethomepage.com/?3wicket 1.5新的網址

我的問題是:究竟是什麼?谷歌搜索只是給了我一個提示,這是一個有狀態頁面的ID,對吧?問題二,是否存在(簡單)的方式來隱藏/刪除它,因爲它會讓我的頁面變得醜陋?

+0

我已經在SO的另一個評論中瞭解到,這與在HybridURLCodungStrategie中的1.4中的行爲相同。它用於引用歷史頁面中的頁面。你可以在沒有這個版本的情況下工作,頁面是無狀態的。 – bert

+2

看到這個相關的問題[http://stackoverflow.com/questions/8081143/components-not-reloading-on-url-change-in-wicket-1-5-2](http://stackoverflow.com/questions/8081143/components-not-re-load-on-url-change-in-wicket-1-5-2) – rotsch

+0

事實上,這個問題是相關的,雖然那裏的人沒有直接回答我的問題......但我猜測唯一的辦法是將頁面切換到無狀態頁面? – kamil

回答

1

這是有狀態頁面的頁面ID。一個有狀態的頁面只被實例化一次,然後每個請求都會被Wicket從磁盤加載並重用。Wicket 1.4具有與其特殊的檢票口相同的方式:界面參數。只有Hybrid(索引)UrlCodingStrategy在Wicket 1.4中像MountedMapper一樣工作。

即使這是默認行爲,它並不是必需的。您可以實現自己的IRequestMapper,根據需要對Url進行編碼/解碼。有關更多信息,請參見http://wicketinaction.com/2011/07/wicket-1-5-request-mapper/