Struts 5章 パラメータ値のチェックとHTMLタグライブラリ
- 5.1. ActionForm Beanのvalidateメソッド
- 5.2. エラーメッセージの表示
- 5.3. HTMLタグライブラリ
- 5.4. formタグ/submitタグ/cancelタグ/resetタグ
5.3. HTMLタグライブラリ
入力値の検証でエラーが確認された場合、Struts設定ファイルで指定した入力ページに遷移しますが、入力したデータはフォームに表示されません。ActionForm Beanはscope属性で指定したスコープ(requestかsession)に登録されるので、JSPを使用して表示させる事も可能ですが、Strutsはそれを楽にする機能も提供しています。度々、登場しているHTMLタグライブラリを利用します。
HTMLタグライブラリは、通常のHTMLのタグに置き換えて使用します。HTMLタグライブラリを使用するだけで、入力データの表示は実現されます。以下に対応を示します。
| HTMLにおけるタグ名 | HTMLタグライブラリにおけるタグ名 |
|---|---|
| <form> | <html:form> |
| <input type="text"> | <html:text> |
| <input type="password"> | <html:password> |
| <input type="textarea"> | <html:textarea> |
| <input type="radio"> | <html:radio> |
| <input type="checkbox"> | <html:checkbox><html:multibox> |
| <select> | <html:select> |
| <option> | <html:option><html:options><html:optionsCollection> |
| <input type="hidden"> | <html:hidden> |
| <input type="image"> | <html:image> |
| <input type="submit"> | <html:submit><html:cancel> |
| <input type="reset"> | <html:reset> |
| <html> | <html:html> |
| <a> | <html:link> |
| <img> | <html:img> |
| <frame> | <html:frame> |
以下は2章のHTML FormをHTMLタグライブラリを使用するように変更した例です。以降、HTMLタグについて説明します。
...
<html:form action="/sample/productInput.do" method="post">
<table>
<tr><td>商品名</td><td><html:text property="name" /></td></tr>
<tr><td>メーカ名</td><td><html:text property="maker" /></td></tr>
</table>
<html:submit value="登録" />
</html:form>
...

