Vaadin についての質問ですが、有用な情報を見つけることなく、たくさん検索しました。
@PreserveOnRefresh アノテーションが設定されていないときに UI が更新されたかどうかを知る必要があります (つまり、UI.refresh() のオーバーライドは機能しません)。
基本的に、ユーザー セッション ID をブラウザーで開いている UI にマップするマップがあります。新しい UI が検出されたら、それを現在のセッションの UI のコレクションに追加する必要があります。
ユーザーがブラウザーで同じ UI (サーブレット @WebServlet 構成によってマップされた同じ UI 実装) を要求した場合、ブラウザーの別のウィンドウまたは別のタブで開かれた UI である場合にのみ、この UI を追加する必要があります。ブラウザ ウィンドウが更新されたら、何もしないか、古い UI を削除して新しい UI を配置することをお勧めします。
@PreservOnRefresh アノテーションを UI に追加すると、これが機能することはわかっています (ただし、UI を保存できないようにする必要があります)。
では、どうすれば実際にそれを行うことができますか?私はこの実装を見つけました (私には少し醜いようです) -> http://dev.vaadin.com/ticket/12191#trac-change-5-1374239207261117
それを行う別の方法はありますか?
注目してくれてありがとう!