- - PR -
JSF でのメッセージ表示
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 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 />タグはエラーメッセージの表示、と説明されているので、今回のような使用方法はすべきではないのでしょうか。 色々調べたのですが原因を特定できず、なにか根本的なミスをしていそうな気がしますが、どうにも詰まってしまったので質問しました。 何かヒントやチェックポイント等ありましたらご教授ください。よろしくお願いします。 | ||||
|
投稿日時: 2008-11-07 11:55
<h:messages for="succcess_msg"/>
ではなくて <h:message for="succcess_msg"/> とすれば表示されませんか? | ||||
|
投稿日時: 2008-11-08 15:34
でるびすたさん
レスありがとうございます。 すみません、質問の記載ミスで <h:messages for="succcess_msg"/> と記述してしまいましたが、実際は <h:message for="succcess_msg"/> で試しています。 でもやはり質問の内容にあるとおり、メッセージは出力されません。 その後も色々調べてみましたが、まだ解決できません。 もともと、FacesContextのaddMesageしたものはこういった使い方をするものではないのでしょうか・・・ 引き続き、なにかヒント等ありましたらよろしくお願いします。 | ||||
|
投稿日時: 2008-11-10 09:37
JSFの<h:message>のforはコンポーネントに対しての出力なので、
UIComponentの実体を持たないIDに対しては出力できないのだと思います。
addMessage()のclientIdをnullにして、 <h:messages globalOnly="true" /> ではダメなんでしょうか? |
1