0
  1. ポータル環境の JSF ページに commandLink があります。クリックすると、(facesContext.getExternalcontext().sendRedirect(//Servlet URL//) を呼び出して) サーブレットにリダイレクトします。

  2. サーブレットは、サーバーから Excel ファイルをダウンロードするために作成されます。

  3. ファイルとして保存ダイアログが開き、バックグラウンドで JSF ポータル ページが表示されます。

これは問題なく動作しますが、ファイルをダウンロードしたときに、ポータルの JSF ページでアクション コンポーネントをクリックすると、アクションが実行されずにページが更新されるだけであることがわかりました。動作させるには、そのアクション コンポーネントをもう一度クリックする必要があります。

PhaseListener を使用して JSF ライフサイクルを追跡したところ、リダイレクトの後、手順 6 の ierenderResponse フェーズが欠落していることに気付きました。これが問題でしょうか?どうすればこれを解決できますか?

4

1 に答える 1

0

これは、問題の JSF コンポーネントによって生成された Javascript のバグである可能性があります。メーカー/バージョンは何ですか? Sun JSF RI 1.1? このようなバグをいくつか覚えていますが、それらは 3 年以上前に既に修正されています。問題の JSF 実装の最新バージョンを使用していることを確認してください。Sun Mojarra (旧称 Sun JSF RI)はこちらから、Apache MyFacesはこちらから入手できます。

于 2009-12-11T11:52:00.607 に答える