SPANやDIVでStrutsのerrorStyleClassみたいなことをする方法

Strutsのhtmlタグは、「エラーがあった時のみ適用されるスタイル」というのを指定することができます。

<html:text property="name" styleClass="textbox" errorStyleClass="textbox error" />


これ普通のSPANやDIVでもできないかな・・・と、いろいろ考えてみました。


結局、思いついた一番ベストな方法はこれ。

<span style="textbox<logic:messagesPresent property="name"> error</logic:messagesPresent>" />

指定したプロパティのエラーがあるときのみ出力される「logic:messagesPresent」を、スタイル指定の中に埋め込むというやり方。
これならば、エラーがあればerrorスタイルが適用され、なければ無視されるというerrorStyleClassっぽいことができると思います。


ちなみに、上の方法を思いつくまではこうしてました。

<logic:messagesNotPresent property="name">
  <span style="textbox" />
</logic:messagesNotPresent>
<logic:messagesPresent property="name">
  <span style="textbox error" />
</logic:messagesPresent>

これでも動くけど・・・回りくどい気がします。


三項(条件)演算子かif文かの違いみたいですね。