skillup

技術ブログ

Java

JSFのメッセージのレンダリング

投稿日:

ManagedBeanとJSFでメッセージのやり取りをする場合、直接メッセージを変数として持たせるよりは、JSFの仕組みを通じてメッセージを出力させたほうが適切です。

エラーメッセージの出力

一番多いのは入力フォームなどのエラーメッセージを出力する方法です。

これは対象の変数にアノテーションを付与し、messageタグのlabel属性でinputと結び付けてあげれば出力が可能です。

ManagedBean側

JSF側

これで画面からcodeが1文字~20文字の文字列でない限りは自動的にエラーメッセージが吐かれ、そうでないときは何も出力されません。

任意の出力

難しいのはこのような変数とメッセージが1対1でないときです。

例えばデータベースへ何らかのデータが入力され、成功時と失敗時にメッセージを出力したいとします。

その場合、JSFのメソッドをManagedBeanの中から呼び出してあげればOKです。

clientIdとはコンポーネント上のIDです。

ここがJSFは通常のHTMLと違います。

単純にそのメッセージのIDではなく、inputの場合、formが親になりますので、親ID:子IDとなります。

下記のようなコードになります。

ManagedBean側

JSF側

ちなみに全てのメッセージをまとめて出力したいときは

で出力できます。

参考リンク

http://software.fujitsu.com/jp/manual/manualfiles/M050000/J2X11200/01/jsfgd03/jsfgd021.html

-Java
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Glassfishの暴走に関して

JavaEEのアプリケーションサーバーではglassfishを使っているんですが、 メモリをかなり食うのと、頻繁に暴走してIDEからの処理を一切受け付けなくなることが多いです。 まだまだ全然対処法がわ …

no image

JSFのテンプレート機能

Contents1 保守性の向上で必要なHTMLの考え方1.1 サンプル1.2 ファイル構成1.3 ソース1.3.1 静的なファイル群1.3.2 テンプレート1.3.3 アクセスファイル1.4 Net …

no image

instanceofとgetClassについて

Javaでの型の判定などに使われるinstance ofとgetClassについてメモしたいと思います。 Contents1 instance of2 getClass instance of A i …

no image

Fileオブジェクトの操作

業務でテキストファイルを読み込んで、別形式に変換して出力みたいなアプリを作ったときにファイルオブジェクトについていろいろ調べたんでまとめておきます。 Contents1 ファイルオブジェクトとは?2 …

no image

リソースファイルの読み込み

リソースバンドルは基本的にJSFから参照して呼び出すことが多いんですが、もちろんプログラム内からも呼び出すことはできます。 書き方も単純でリソースバンドルをインスタンス生成してメッセージのキーで呼び出 …