[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 メーリングリストの案内