skillup

技術ブログ

Java

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

投稿日:2015年7月12日 更新日:

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側

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

で出力できます。

参考リンク

JavaServer Faces ユーザーズガイド 3.7 メッセージの表示

-Java
-,

執筆者:


comment

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

関連記事

no image

mavenでのjarファイル作成

ここ半年Javaを触っていますが、9割以上がWEBアプリでバッチ系のものを作る機会から外れていました。 今回バッチを作っており、IDEでは動くのにいざコンソールで動かそうと思ったら動かないということが …

no image

配列の初期化&代入+Mapから別Map作成

最近、業務ではコードの量が肥大化し、とにかく短く書くことを心がけてます。 まあ、短ければいいってもんでもないんですが・・・ Listにクラスを使いするときに↓みたいな書き方を紹介したんですが、 [cr …

no image

GlassFishとTomcatの違い

JavaEEの開発を始めてからは基本的にサーバーとしてGlassFishを使っています。 一般的なJavaのサーバーというとTomcatが有名ではないでしょうか。少なくとも私はTomcatしか知りませ …

no image

BeanValidationの動的メッセージ出力について

JSF+ManagedBeanでは基本的にbeanValidationを使ってバリデーションを行い、エラーメッセージなどはプロパティファイルで管理するのが一般的です。 アノテーションなどを付与してあげ …

no image

正規表現(判定:置換:抽出)

Javaの正規表現を利用した置換、抽出について書きます。 Contents1 正規表現の基本ルール2 Javaでの正規表現の処理の流れ3 実処理3.1 判定3.2 抽出3.3 置換 正規表現の基本ルー …