- PR -

JSF でのメッセージ表示

1
投稿者投稿内容
青江
会議室デビュー日: 2008/10/14
投稿数: 4
投稿日時: 2008-11-06 15:33
JSF1.2 facelets1.8 にてWEBアプリを製造しています。

画面Aで実行ボタンを押下

入力チェック、他メイン処理

画面Aで結果メッセージ表示(エラー or 正常)

という単純なフローで、
正常終了の場合、処理中で
FacesContext.getCurrentInstance().addMessage("succcess_msg", new FacesMessage("正常終了しました");
とし、画面Aで<h:messages for="succcess_msg"/>とすれば結果メッセージを表示することができるかと思いましたが、どうも上手く行きません。

タグを
<h:messages />
にした場合は、上記処理で設定したメッセージが表示されますが、
<h:messages for="succcess_msg"/>とすると表示されません。

そもそも、ネット等で調べると、どこでも<h:messages />タグはエラーメッセージの表示、と説明されているので、今回のような使用方法はすべきではないのでしょうか。
色々調べたのですが原因を特定できず、なにか根本的なミスをしていそうな気がしますが、どうにも詰まってしまったので質問しました。
何かヒントやチェックポイント等ありましたらご教授ください。よろしくお願いします。
でるびすた
常連さん
会議室デビュー日: 2005/06/15
投稿数: 22
投稿日時: 2008-11-07 11:55
<h:messages for="succcess_msg"/>
ではなくて
<h:message for="succcess_msg"/>
とすれば表示されませんか?
青江
会議室デビュー日: 2008/10/14
投稿数: 4
投稿日時: 2008-11-08 15:34
でるびすたさん
レスありがとうございます。

すみません、質問の記載ミスで
<h:messages for="succcess_msg"/> と記述してしまいましたが、実際は
<h:message for="succcess_msg"/> で試しています。

でもやはり質問の内容にあるとおり、メッセージは出力されません。

その後も色々調べてみましたが、まだ解決できません。
もともと、FacesContextのaddMesageしたものはこういった使い方をするものではないのでしょうか・・・

引き続き、なにかヒント等ありましたらよろしくお願いします。
あしゅ
ぬし
会議室デビュー日: 2005/08/05
投稿数: 613
投稿日時: 2008-11-10 09:37
JSFの<h:message>のforはコンポーネントに対しての出力なので、
UIComponentの実体を持たないIDに対しては出力できないのだと思います。

引用:

青江さんの書き込み (2008-11-06 15:33) より:
FacesContext.getCurrentInstance().addMessage("succcess_msg", new FacesMessage("正常終了しました");


addMessage()のclientIdをnullにして、
<h:messages globalOnly="true" />
ではダメなんでしょうか?
1

スキルアップ/キャリアアップ(JOB@IT)