Strutsで.NETのErrorProviderもどき

.NETのWindowsフォームにErrorProviderコンポーネントがある。
このコンポーネントは、入力エラーが発生したテキストボックスなどのコントロールの隣にエラーアイコンを表示するのでエラー箇所がわかりやすい。
Strutsでも同じことを実装してみた。手順は次のとおり。

  • エラーアイコンの画像ファイルを適当に配置。
  • CSSファイルに、エラー発生時のinputタグの背景色を設定。

.text-error {
background-color: red;
text-align: left;
}

  • JSPファイルにhtml:textタグとエラーアイコンを表示するhtml:imgタグを追加。inputタグは必須入力とする。
<html:text property="homeUrl"
  styleClass="text" errorStyleClass="text-error" size="50" />
<html:messages id="error" property="homeUrl">
  <html:img page="/images/warning.gif" alt="${error}" />
</html:messages>

初期表示では次のHTMLソースが表示される。

<input type="text" name="homeUrl" size="50" value="http://localhost/" class="text">

必須入力欄を空白にして、submitすると、入力欄の背景色が赤色になりエラーアイコンを表示する。

<input type="text" name="homeUrl" size="50" value="" class="text-error">
<img src="/webappname/images/warning.gif" alt="homeUrl は必須入力です。">