状況は次のとおりです。クライアント側のユーザーがデータを入力し、コマンドボタンを押してajaxリクエストを開始します。入力データに応じて、サーバー側のJSFBeanは別のページにリダイレクトします。ただし、それに加えて、HTML5の機能であるlocalstorageとsessionstorageは、Beanの結果に応じて、クライアント側で更新する必要があります。ストレージには、ユーザーから入力されたデータが必要であるため、ストレージのJavaスクリプトは元のページ内にある必要があります。
さて、問題は、応答後、常にリダイレクトが最初に行われ、js関数を実行する前に行われるため、curseのクライアント側のユーザーからの入力データにアクセスできないことです。
クライアント側で「oncomplete」のようなコマンドボタンを押した後、コールバックパラメーター(リダイレクトは以前に行われます)またはサーバー側からのRequestContext.executeを使用してjs関数を呼び出すことを試みました(ただし、これは内部的にもoncompleteイベントを使用すると思います) 。私が想像できる1つの可能な解決策は、クライアント側でwindow.onunloadを使用し、非表示の入力式を使用してBeanの結果を取得することです。しかし、もっと良い解決策はありませんか?