關於產品與Apache Wicket的1.4.x的保護組件的狀態
我有一個包含有一組搜索條件的形式的可收藏的,有狀態的頁面組件狀態管理。用戶搜索與所選標準匹配的項目,然後從頁面導航(例如,轉到詳細的項目視圖)。在某個時間點,用戶可以使用書籤鏈接返回到搜索頁面。我希望將最後的搜索條件預先選爲默認選項。但是,BookmarkablePageRequestTarget
似乎在其#respond(RequestCycle)
方法中創建了目標頁面的新實例,因此失去了以前的狀態(支持搜索表單的bean)。當然,我可以手動管理表單狀態並將其存儲在WebSession
子類中,但我想知道是否有更好的方法可以在多個請求週期內保留組件狀態,例如使Wicket重新使用該組件狀態目標頁面的現有實例?理想情況下,這將與書籤鏈接。
請原諒我的無知,但是可以創建一個指向頁面特定實例的鏈接,更重要的是,如何獲得對特定頁面實例的引用? – oleg 2011-05-23 08:08:30
@oleg對不起,我沒有意識到這是問題所在。要創建一個指向現有頁面的鏈接,您可以使用[PageLink](http://wicket.apache.org/apidocs/1.4/org/apache/wicket/markup/html/link/PageLink.html)類。你可以把它傳遞給你。所以當你從你的搜索頁面打開你的詳細信息頁面時,你基本上都會傳遞'this',然後當詳細信息頁面必須鏈接回去時,可以使用該引用。 – biziclop 2011-05-23 09:24:07
沒錯。麻煩的是,用戶可以從詳細視圖導航到整個應用的不同區域,而不僅僅是搜索。在整個應用程序中拖動對SearchPage實例的引用是不可行的。 – oleg 2011-05-23 09:59:14