トップページ >  Struts >  アクションクラスとアクションフォームクラス
初版2006/08/09: 最終更新日2006/08/09
  アクションクラスとアクションフォームクラス
目次
アクションクラスとアクションフォームクラスについて
アクションクラスについて
アクションフォームクラスについて
アクションクラスとアクションフォームクラス
先に述べたとおりアクションクラスはサブミットボタンを押下した時に実行されるプログラムです。
また、アクションフォームクラスはサブミットボタンを押下した時に、その時のフォームの情報を格納するクラス(プログラム)です。
ですので、この二つのクラスは基本的に1対1で対応しています。
このマッピングはどこで行うかと言うとstruts-config.xmlファイル内に記述して行います。

以下、struts-config.xmlによるアクションクラスとアクションフォームクラスのマッピング例です。

<form-beans>
   <form-bean name="sampleLogin" type="com.confrage.SampleLogin.SampleLogin">
        <form-property name="user" type="java.lang.String"/>
        <form-property name="pass" type="java.lang.String"/>
   </form-bean>
</form-beans>
<action-mappings>
    <action name="sampleLogin" type="com.confrage.SampleAction.SampleAction" path="/login" >
    <forward name="success" path="/pages/sample.jsp"/>
    </action>
</action-mappings>

アクションクラスについて
まず、アクションクラスについてはaction-mappingsタグ内に記述します。
このタグ内に、actionタグを記述し、アクションクラスが複数個存在する場合は複数記述することが出来るようになっています。
actionタグの属性には以下の3つがあります。

name
type
path

name属性はアクションクラスとアクションフォームクラスとをマッピングするのに必要な属性です。
type属性はフルパスでアクションクラスを指定する属性です。
path属性はURLを指定します。例では/loginにしています。
これはhttp://マシン名/アプリ名/login.doにアクセスするとtype属性で指定したプログラムが実行されることを意味します。

また、actionタグ内にはforwardタグを入れることができます。
forwardタグにも以下の属性があります。

name
path

name属性は、実装されたActionクラスのActionMappingクラスのfindForwardメソッドの引数とマッピングさせます。
path属性はその時の画面遷移先(フォワード先)を指定します。
アクションフォームクラスについて
アクションフォームクラスについてはform-beansタグ内に記述します。
このタグ内に、form-beanタグを記述し、アクションフォームクラスが複数個存在する場合は複数記述することが出来るようになっています。
form-beanタグの属性には以下の2つがあります。

name
type

name属性は対応させたいアクションクラスのname属性と同じ名前にします。
type属性はフルパスでアクションフォームクラスを指定する属性です。

また、form-beanタグ内にはform-propertyタグを入れることができます。
forwardタグにも以下の属性があります。

name
type

name属性は、実装されたActionFormクラスのメンバ変数名を指定します。
type属性はその変数の型を指定します。基本的にはString型です。