2016-09-19 54 views
-1

有時當關閉模式窗口時,彈出消息「您要離開還是繼續......」。 我無法確定原因。例如,我關閉了窗口10x(仍然以相同的方式),其中一些嘗試最終會失敗。 沒關係,但是父頁面被重新構建,所有的數據都丟失了,這不方便用戶使用。關閉模式窗口錯誤

我的項目規格:

  • 檢票:6.21.0
  • 的Java:8
  • 春:4.1.1.RELEASE
  • 等(我希望不相關的依賴)

我已經做了什麼,嘗試或探索到目前爲止:

  • 在關閉模式窗口和錯誤發生,父頁面再次構建
  • 發生錯誤時,沒有關閉的回調被稱爲
  • modalWindow.showUnloadConfirmation(假) - 不起作用。確認窗口沒有顯示,但是當窗口關閉時,父頁面被重新加載並且數據消失
  • 更新檢票口到最新的6.24版本或者Spring 4.1.6沒有幫助
  • 降級到檢票口6.1.9沒有幫助
  • 升級到檢票口7.4沒有幫助
  • 時錯誤發生,ModalWindow頁面例如通過HTTP產生8443 EXEC 5線和回調同一個線程抓住
  • 發生錯誤時,ModalWindow頁是例如通過HTTP 8443 EXEC 線程生成,但失敗並通過HTTP 8443 EXEC 線程例如
  • 也無助於增加創造了新的父頁面時關閉按鈕,然後調用window.close()清除並分離所有數據提供程序
  • 當模式窗口失敗時,javascript中的window.close()方法是最後一件事,即被調用。之後沒有任何代碼被調用。之後,可能會重定向到父頁面(這就是爲什麼你想離開這個頁面確認對話框)。
  • 以上所有內容都可以通過創建新的Java類進行測試,該類繼承了ModalWindow並重寫了受保護的方法String getCloseJavacript(),該方法返回String形式的關閉JavaScript代碼。

SOLUTION

的問題是當父加載頁面數據,頁面大小是大被存儲到檢票頁面緩存的內存。因此,當模式窗口關閉時,保存的父頁面應該被加載,但從未保存,因此生成了新頁面。 Wicket頁面緩存內存的大小可以在WicketApplication類中設置。更多內容請參閱頁面緩存部分的https://ci.apache.org/projects/wicket/guide/6.x/guide/versioningCaching.html

回答

0

這是可配置的:使用ModalWindow#showUnloadConfirmation(boolean)來控制它。

+0

我已經嘗試過,請參閱第3個項目符號。信息消息並不那麼重要。我更關心的是父頁面再次被創建。 – user2431846

+0

然後問題出現在您的應用程序代碼中。很難猜出它到底是什麼。 –