org.apache.struts.action
クラス ActionForm

java.lang.Object
  拡張org.apache.struts.action.ActionForm
すべての実装インタフェース:
java.io.Serializable
直系の既知のサブクラス:
DynaActionForm, ValidatorForm

public abstract class ActionForm
extends java.lang.Object
implements java.io.Serializable

ActionFormは、 1つ以上のActionMappingに任意に関連づけることのできるJavaBeanです。 このBeanのプロパティは、対応するAction.executeメソッドが呼び出される前に、 対応するリクエストパラメータで初期化されます。

Beanのプロパティが設定された後、 Actionexecuteメソッドが呼び出される前に、 このBeanのvalidateメソッドが呼び出されます。 これはユーザが送信したプロパティが正しくて妥当であるかを確かめる機会をBeanに与えます。 このメソッドで問題が見つかった場合、 問題をカプセル化したエラーメッセージオブジェクトを返し、 コントローラサーブレットは対応する入力フォームに制御を戻します。 また、全てのプロパティが条件に合っていて、 対応するAction.executeメソッドが呼び出されるべきである場合は、 validateメソッドはnullを返します。

このクラスをインスタンス化するためにサブクラスを作成する必要があります。 サブクラスは公開したい全てのBeanプロパティでgetterメソッドとsetter メソッドを提供し、 さらににpublicメソッドやprotectedメソッドを機能の変更に応じてオーバライドすべきです。

ActionFormはJavaBeanですので、 サブクラスもJavaBean仕様を満たすようにSerializableを実装すべきです。 コンテナによっては、 ActionFormが依存しているイントロスペクションAPIを用いるために、 オブジェクトがJavaBeanの全ての要件を満たすことが要求されます。

バージョン:
$Revision: 1.11 $ $Date: 2005/04/01 16:51:32 $
関連項目:
直列化された形式
翻訳者:
横田 健彦, 棚澤 昌幸
校正者:
高橋 達男

フィールドの概要
protected  MultipartRequestHandler multipartRequestHandler
          このフォームのMultipartRequestHandler。
protected  ActionServlet servlet
          関連づけられているサーブレットのインスタンス。
 
コンストラクタの概要
ActionForm()
           
 
メソッドの概要
 MultipartRequestHandler getMultipartRequestHandler()
          このフォームのMultipartRequestHandlerを返します。
protected  ActionServlet getServlet()
          関連づけられているサーブレットのインスタンスを返します。
 ActionServletWrapper getServletWrapper()
          関連づけられているサーブレットのインスタンスをActionServletWrapperとして返します。
 void reset(ActionMapping mapping, javax.servlet.http.HttpServletRequest request)
          Beanの全てのプロパティを必要に応じてデフォルトの状態にリセットします。
 void reset(ActionMapping mapping, javax.servlet.ServletRequest request)
          Beanの全てのプロパティをデフォルトの状態にリセットします。
 void setMultipartRequestHandler(MultipartRequestHandler multipartRequestHandler)
          ファイルアップロードの処理に使うために提供されるHandlerを設定します。
 void setServlet(ActionServlet servlet)
          (servletがnullでない場合は) 関連づけられているサーブレットのインスタンスをセットします。
 ActionErrors validate(ActionMapping mapping, javax.servlet.http.HttpServletRequest request)
          HTTPリクエストにセットされているプロパティの妥当性を検証して、 見つかった全ての検証エラーをカプセル化したActionErrorsオブジェクトを返します。
 ActionErrors validate(ActionMapping mapping, javax.servlet.ServletRequest request)
          非HTTPリクエストにセットされているプロパティの妥当性を検証して、 見つかった全ての検証エラーをカプセル化したActionErrorsオブジェクトを返します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

servlet

protected transient ActionServlet servlet

関連づけられているサーブレットのインスタンス。


multipartRequestHandler

protected transient MultipartRequestHandler multipartRequestHandler

このフォームのMultipartRequestHandler。 nullのこともあります。

コンストラクタの詳細

ActionForm

public ActionForm()
メソッドの詳細

getServlet

protected ActionServlet getServlet()

関連づけられているサーブレットのインスタンスを返します。


getServletWrapper

public ActionServletWrapper getServletWrapper()

関連づけられているサーブレットのインスタンスをActionServletWrapperとして返します。

導入されたバージョン:
Struts 1.0.1
関連項目:
ActionServletWrapper

getMultipartRequestHandler

public MultipartRequestHandler getMultipartRequestHandler()

このフォームのMultipartRequestHandlerを返します。 この背景にある理由は、 MultipartRequestHandlerfinishメソッドとrollback メソッドのどちらか、または両方を使用することによって、 フォームBeanの開発者がマルチパートのリクエストのライフサイクルを操作できるようにするためです。 このフォームのenctypeが"multipart/form-data"でない場合はこのメソッドはnullを返します。

関連項目:
MultipartRequestHandler

setServlet

public void setServlet(ActionServlet servlet)

(servletがnullでない場合は) 関連づけられているサーブレットのインスタンスをセットします。 (servletがnullである場合は) 割り当てられた全てのリソースを解放します。

パラメータ:
servlet - もしあれば、新しいコントローラサーブレット

setMultipartRequestHandler

public void setMultipartRequestHandler(MultipartRequestHandler multipartRequestHandler)

ファイルアップロードの処理に使うために提供されるHandlerを設定します。

パラメータ:
multipartRequestHandler - ファイルアップロードに使用するHandler

reset

public void reset(ActionMapping mapping,
                  javax.servlet.ServletRequest request)

Beanの全てのプロパティをデフォルトの状態にリセットします。 このメソッドはコントローラがプロパティを再設定する前に呼び出されます。

デフォルトの実装はこのメソッドのHTTPバージョンにフォワードします。

パラメータ:
mapping - このインスタンスを選択するために用いられたマッピング
request - 処理中のサーブレットリクエスト

reset

public void reset(ActionMapping mapping,
                  javax.servlet.http.HttpServletRequest request)

Beanの全てのプロパティを必要に応じてデフォルトの状態にリセットします。 このメソッドはコントローラがプロパティを再設定する前に呼び出されます。

デフォルトの実装は何もしません。 実際に使う場合、 リセットが必要なプロパティはセッションスコープのフォームにあるチェックボックスだけです。 別の方法として、プロパティはフィールドの宣言時に初期値を設定できます。

もし複数のリクエストにわたって値を集められるように(「ウィザード」形式) フォームをセッションスコープに格納する場合、プロパティをリセットするのなら、 どのプロパティをリセットするかに十分に注意しなければいけません。 上述の通り、セッションスコープのチェックボックスは、 プロパティを設定するどのページでもfalseにリセットしなければなりません。 これは、チェックボックスがクリアされた(false)時には値を送信しないためです。 セッションスコープのチェックボックスは、事前にリセットしない限り falseに設定されることはありません。

「更新」タイプのページに関しては、 フォームの値を初期化する場所として、このメソッドはふさわしくありません (値の初期化はセットアップ用のActionの中で行なうべきです)。 たいていの場合にチェックボックスの値がfalseに設定されているかを気にする必要はありますが、 ほとんどの場合はこのメソッドを実装しないでおいて構いません。

パラメータ:
mapping - このインスタンスを選択するために用いられたマッピング
request - 処理中のサーブレットリクエスト

validate

public ActionErrors validate(ActionMapping mapping,
                             javax.servlet.ServletRequest request)

非HTTPリクエストにセットされているプロパティの妥当性を検証して、 見つかった全ての検証エラーをカプセル化したActionErrorsオブジェクトを返します。 エラーが見つからなかった場合、 nullもしくは、 エラーメッセージが何も記録されていないActionErrorsオブジェクトを返します。

デフォルトの実装はこのメソッドのHTTPバージョンにフォワードします。

パラメータ:
mapping - このインスタンスを選択するために用いられたマッピング
request - 処理しているサーブレットリクエスト

validate

public ActionErrors validate(ActionMapping mapping,
                             javax.servlet.http.HttpServletRequest request)

HTTPリクエストにセットされているプロパティの妥当性を検証して、 見つかった全ての検証エラーをカプセル化したActionErrorsオブジェクトを返します。 エラーが見つからなかった場合、 nullもしくは、 エラーメッセージが何も記録されていないActionErrorsオブジェクトを返します。

デフォルトの実装は何の検証も行なわずにnullを返します。 サブクラスは独自の妥当性の検証を行なうためにこのメソッドをオーバライドしなくてはいけません。

パラメータ:
mapping - このインスタンスを選択するために用いられたマッピング
request - 処理しているサーブレットリクエスト
関連項目:
DynaActionForm


このドキュメントは、Ja-Jakartaにより訳されました。コメントがある場合は、report@jajakarta.orgまでお願いします。
Copyright (C) 2000-2004 - Apache Software Foundation