目次 > 第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属性に指定すること。


Copyright (C) 2009 NTT DATA CORPORATION