2012-03-20 46 views
0

私はJSF 2.0を使用しています。フォームが送信されると、私はダウンロードを生成しています。その結果、提出物はAJAXを使用していません。ファイルがダウンロード用に生成されたら、ブラウザに完了を知らせるためにFacesContext.getCurrentInstance().responseComplete();に電話しています。JSF 2.0 FacesContext.responseComplete()でjavascriptを実行

ただし、ユーザーエクスペリエンスのために、ファイルの生成時に画面に「読み込み中」というメッセージを表示してから、ダウンロードが生成されたらこのメッセージを削除します。 AJAXの欠如を考慮してこれを行う方法はありますか?

おかげで、
クリス

編集:私はすでにするためにJavaScriptを呼び出しています
メッセージをonSubmitを示しました。私の問題は、応答が完了したときにメッセージを取り除くためにJavascriptを呼び出すことです。

答えて

3

ローディングメッセージbefore submitting the form

FacesContext.responseComplete()は、クライアントに応答を送信しません。コンテキスト内にフラグを設定するだけで、JSFフレームワークに、現在のライフサイクルフェーズが完了した後にライフサイクルフェーズを処理する必要がないことを伝えるだけです。

+0

申し訳ありませんが、私のところでは、フォームのonSubmitイベントで必要なJavascriptを呼び出しています。しかし、私はその後、応答が完了したらそれを取り除くためにJavascriptを呼び出す必要があります。 –

+0

ああ、私はそれを考えていたはずです。 – McDowell

+2

[ここ](http://stackoverflow.com/questions/1106377/detect-when-browser-receives-file-download)に記載されているクッキーベースのアプローチがあります。 – McDowell

関連する問題