2007 年 3 月 26 日 19 時 23 分

検証エラーとハイライト表示


このアーカイブは同期化されません。 mixi の日記が更新されても、このアーカイブには反映されません。


[写真]


引き続き、JSP のフォームのお話だ。

Struts の HTML タグライブラリを使ってフォームを作ると、
JSP のコードが少し見やすくなったが、
コードを書く手間は、HTML で作ったフォームと
それほど変わらなかったため、メリットが見えにくい。

ということでこのフォームに、
Struts ならではの機能を付け加えてみよう。

Struts の HTML タグライブラリは、
ActionForm の検証機能と密接に関係しているため、
フィールドをハイライト表示することができる。

とりあえず実際に試してみよう。

入力項目である html:text と html:password に、
以下のように errorStyle 属性を追加する。

    <html:text property="user"
            errorStyle="background-color: #fcc" />

    <html:password property="password"
            redisplay="false"
            errorStyle="background-color: #fcc" />

errorStyle 属性は、入力項目で検証エラーが発生した場合、
その属性値をそのまま style 属性として出力するので、
直接 CSS のプロパティを記入することができる。

因みに、errorStyleClass 属性を使えば、class 属性に、
errorStyleId 属性を使えば id 属性に出力することができる。
ここでは外部 CSS を使ってないので単純な例とした。

では、JSP に上記だけの修正を加えて、
実際に実行してみよう。

ユーザ名だけ入力して故意に検証エラーを起こしてみると、
「パスワードを入力してください。」というエラーになるが、
パスワード用の入力ボックスの背景が赤色に変化したはずだ。



Copyright (c) 1994-2007 Project Loafer. All rights reserved.