3

PrimeFaces では、エラー メッセージを表示したい場合、次のことができます。

  1. create in コマンド ビュー アクションを呼び出すコンポーネント
  2. 'update' 属性で、メッセージを表示する p:message または p:growl コンポーネントの ID を設定します
  3. バッキングBeanでは、アクション関数でメッセージをスローします

その結果、エラー メッセージはリダイレクト ページの、一致する ID を持つメッセージ コンポーネントに表示されます。

しかし、もし :

  1. アクションを呼び出したコマンド コンポーネントを含まない別のページにメッセージを表示したい。
  2. アクションは、一部のバッキング Bean ロジックに応じて、さまざまなページにリダイレクトできます。
  3. アクションは、少なくとも直接ではなく、コマンド コンポーネントから呼び出されません。

特定の ID を持つ ap:message コンポーネントを配置し、すべての xhtml ページに含めることを考えました。しかし、これは必ずしも 3 番目のシナリオをカバーするものではありません。

たとえば、別の Web サービスへの接続をチェックする関数が存在する可能性があります。接続エラーは、さまざまなアクションからスローされる可能性があります。

  • またはセッションの有効期限
  • または許可の拒否

この種の一般的なエラー メッセージをどのように管理しますか?

4

2 に答える 2

0

なぜ使用しないのRequestContext#showMessageInDialog(FacesMessage)ですか?

ユーザーガイドによると:

ダイアログに FacesMessages を表示することは、最初に facesmessage をコンテキストに追加する必要がある一般的なケースであり、メッセージ コンポーネントを含むダイアログ コンテンツを更新する必要があり、最後にダイアログがクライアント側 API で表示されます。DF (ダイアログ フレームワーク) には、ショートカットを提供することでこのプロセスをバイパスする簡単なユーティリティがあります。

これを使用すると、すべてのページにコードを追加する必要がなくなります。豆に入れるだけ。

于 2016-11-07T05:50:15.770 に答える