[Seasar-user:11049] Re: [Teeda] Pageよりエラーを出す場合に該当する項目の色を変えたい
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2007年 10月 17日 (水) 03:00:14 JST
小林 (koichik) です.
Date: Tue, 16 Oct 2007 19:52:59 +0900
From: 木村 究道 <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:11037] [Teeda] Pageよりエラーを出す場合に該当する項目の色を変えたい
> Pageクラスから直接エラーを出す場合のやり方は
> http://www.seasar.org/wiki/index.php?FAQ%2FTeeda#q79cd033
> ↑で出来ますが、合わせて該当する項目の文字色や背景色を変
> 更できないでしょうか?
FacesContext#addMessage() を使えばできないことは
ないようです.
以下のようになります.
FacesContext context = FacesContext.getCurrentInstance();
FacesMessage message =
new FacesMessage(FacesMessage.SEVERITY_ERROR, "summary", "detail");
context.addMessage("layoutChildBody:addForm:arg1", message);
FacesMessage の第 2 および第 3 引数には
メッセージの概要および詳細を指定します.
問題は FacesContext#addMessage() の第 1 引数で,
上記の例はレイアウトを使っていて,<form id="addForm">
の中にある <input id="arg1"> に対するメッセージを
設定する場合の指定になります.
ただし,ForEach などを使っていると指定の仕方が
変わりますし,Teeda のバージョンアップによっても
変わる可能性が無いとは言えないところなので,
推奨できるやり方ではありません.
> また、DynamicPropertyで出来そうなのですが、一つ一つの項目
> に対して設定が必要みたいですので、入力項目が多い画面では
> かなり大変になりそうなのです。
手間はかかってもこちらの方が無難だと思います.
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内