目次 > 第3章 Appendix > 3.3 ノウハウ > アクションフォームをStruts設定ファイルのみで定義する
アクションフォームをStruts設定ファイルのみで定義する
概要
動的アクションフォームを利用することで、アクションフォームクラスを生成せずに、Struts設定ファイルのみでアクションフォームを定義することができる。
以下に特徴を示す。
- メリット
- アクションフォームを定義する度に生成していた新規クラスが不要となる。
- setter、getterのテストが不要となる。
- デメリット
- 設定内容が正しいかどうか、実際に動作させるまで分からない。
- setter、getterに処理(例:nullをセットしたらNPEをスローする)を差し込むことはできない。
設定例
以下はチュートリアル本編のユーザ管理アクションフォームを、動的アクションフォームを利用して定義した例である。
<!-- ======================================== フォームビーン定義 --> <form-beans> <!-- ユーザ管理用アクションフォーム --> <form-bean name="_userManagerForm" type="jp.terasoluna.fw.web.struts.form.DynaValidatorActionFormEx"> <!-- 登録用 --> <form-property name="id" type="java.lang.Long" /> <form-property name="name" type="java.lang.String" /> <form-property name="age" type="java.lang.String" /> <form-property name="birth" type="java.lang.String" /> <!-- 一覧表示用 --> <form-property name="row" type="java.lang.String" initial="10" /> <form-property name="startIndex" type="java.lang.String" initial="0" /> <form-property name="totalCount" type="java.lang.String" /> <form-property name="users" type="java.util.ArrayList" /> </form-bean> </form-beans>
動的アクションフォームを利用する場合は、Server(Web)版が提供するDynaValidatorActionFormExを、<form-bean>要素のtype属性に指定すること。