このタイトルは正確ではないかもしれませんが、ここに問題があります。私はいくつかのJSFプロジェクトを行っていますが、次のものが必要です:
ユーザーがアプリケーションにログオンするとき (つまり、ホームページに移動するとき)、インターネットやデータベースから為替レートを取得するメソッドを呼び出す必要があります。そのメソッド (ページの解析、データの保存など) の実行には、約 5 ~ 6 秒かかります。ログインからホームページへのナビゲーションに 5 ~ 6 秒かかるのは望ましくありません。
1) ユーザーがログインすると、(5 ~ 6 秒後ではなく、すぐに) ホームページが表示され、メソッドがバックグラウンドで動作している間にクリックおよび/またはナビゲートできます。
2)ユーザーがログインすると、ホームページが(すぐに)表示され、ページの一部にロードサインが表示され、メソッドが実行された後、為替レートを含むdataTableが表示されます。
質問は、これを行う方法は? そのメソッドを HomePageBean コンストラクターに入れると、メソッドが実行されるまでページは表示されません。ホームページに非表示の要素を配置して、Getter 内でそのメソッドを呼び出すことができるかもしれませんが、それが正しい方法であるか (ハックのように思えます)、実際に機能するかはわかりません。
私は JSF 2.0 と Primefaces を使用しています。前もって感謝します