Apache Wicket 6.xを使用するJavaアプリケーションがあります。時には例外StalePageExceptionが下記のようにトリガされ、ログに記録されます。ただし、ユーザーにフィードバックがないため、アプリケーションが予期せず動作し、不満を募らせます。Apache Wicket:StalePageExceptionが発生したときにエラーメッセージを表示します。
私はStalePageExceptionをキャプチャして、状況を説明するメッセージをユーザーに(できればフィードバックパネルを使用して)提示できますか?
タブ/ウィンドウでステートフルページを開き、アドレスバーの からURLをコピーして、新しいタブ/ウィンドウで開きます。その後、最初の タブ/ウィンドウに戻り、ステートフルリンクをクリックしてみてください。これにより、 StalePageExceptionが発生します。
Wicketは、現在のページのレンダリングと のリンクの間に同じページインスタンスが がレンダリングされていることを検出するため、スローされます。初期レンダリング とクリックイベントの間にページツリー階層の変更があるかどうか不明であるため、Wicketはこれを行います。このリンクはページの最後のバージョンにもはや が存在しない可能性もありますので、このクリックは につながる可能性があります。ComponentNotFoundException StalePageExceptionがスローされない場合 。
StalePageExceptionは現在のページのレンダリングにつながります。したがって、 ユーザーにはページの最終バージョンが表示され、彼は にリンクを再度クリックする必要があります。