2012-09-14 13 views
0

我們的應用程序使用檢票1.5.2,到目前爲止,我們已經建立了與阿賈克斯相當幾頁,這使得網頁狀態。我們注意到日誌中的NotSerializableException [NSE],但忽略了它,因爲它沒有真正破壞任何功能。現在我們開始注意到多個選項卡/窗口場景中的Ajax問題。檢票Ajax的問題​​,當頁面不是序列

可以說我有其中有一些Ajax行爲和頁面B.我加載頁面一個頁面A,右鍵單擊在新標籤頁的鏈接,打開網頁B上。現在,當我點擊頁面A中的ajax鏈接時,它會嘗試重新繪製相同的頁面[A]。當試圖進行調試時,我發現它試圖查找基於頁面id的頁面,並且因爲頁面存儲中不存在相同的內容[請記住有NSE,因爲該頁面未被存儲],它會創建新的實例頁面並重新繪製相同。

我知道該怎麼做正確的事情是讓序列化是成功的,但是這是要花費一些時間對我們來說,因爲我們不得不重新審視所有實現的組件,以確保我們解決這些問題。有沒有其他快速和(有點)很好的解決方案?

另一種選擇是讓頁面無國籍使用無狀態的AJAX組件[Jolira? - 我不知道怎麼說是要公平,但會嘗試。同時,如果有人解決了這個問題,請告訴我。

回答

0

這可能聽起來刺耳,但你真的應該得到固定的代碼。忽略例外通常是一個糟糕的主意。

檢票依賴於網頁是完全可序列化的支持有狀態。如果頁面的序列化失敗,則不能保證Wicket關於狀態的任何功能都能正常工作。對於想要通過AJAX更新的頁面部分(即組件和模型)尤其如此。