[Seasar-user:3573] [S2JSF] バリデーションメッセージの表示方法変更の方法について

O.Goto [E-MAIL ADDRESS DELETED]
2006年 4月 29日 (土) 11:58:01 JST


後藤と申します。

バリデーションメッセージがあるときだけ<table>タグを出現させて
その中にメッセージを表示させたいのですが、その解決方法について相談させてください。

例1)エラーがない場合
<input id="_id116:_id124" name="_id116:_id124" type="text" value="aaa"/>

例2)エラーがある場合
<table><tr>
<td class="orange">エラータイトル</td>
<td><ul>
<li><span class="red">メッセージ1</span></li>
<li><span class="red">メッセージ2</span></li>
</ul></td>
</tr></table>
<input id="_id116:_id124" name="_id116:_id124" type="text" value="aaa"/>

このようにしたいのですが、エラーがない場合には<table>タグを表示させないという方法が
わかりません。
そこで、h:messagesを使用して
org.seasar.jsf.render.html.HtmlMessagesRenderer
をカスタマイズしてfaces-config.xmlで差し替えてあげればできそうなのはわかりました。

ただ、この方法だとエラータイトルや<td>タグのclass属性などを
HtmlMessagesRendererのカスタムクラスに記述する以外に方法がないような気がします。
これではとてもスマートな解決方法とは思えないので、

1)<span m:rendered="#{xxx}">のようにm:renderedで使用できるエラーメッセージの有無判定が可能かどうか
2)1)が不可能な場合スマートな解決方法があるか

を教えてください。
2)の場合、エラータイトルや<td>タグのclass属性などをHTML側で設定できるようにしたいのですが、
何かいい方法はないでしょうか。

よろしくお願いします。



Seasar-user メーリングリストの案内