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つ以上のActionMappings に関連づけることのできるJavaBeanです。 このBeanのプロパティは、対応するアクションのexecute メソッドが呼び出される前に、 対応するリクエストパラメータで初期化されます。

Beanのプロパティが設定されると、 アクションのexecuteメソッドが呼び出される前にこのBeanの validateメソッドが呼び出されます。 これはユーザから提示されたプロパティが正しくて妥当であるかを確かめる機会を Beanに与えます。 このメソッドで問題が発見された場合、 発生した問題をカプセル化したエラーメッセージオブジェクトを返し、 コントローラServletは対応する入力フォームにコントロールを返します。 また、全てのプロパティが条件に合っていて、 対応するアクションのexecute メソッドが呼び出されるべきである場合は validateメソッドはnullを返します。

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

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

バージョン:
$Revision: 1.4 $ $Date: 2003/12/16 16:46:16 $
作成者:
Craig R. McClanahan, Ted Husted
関連項目:
直列化された形式
翻訳者:
横田 健彦

フィールドの概要
protected  MultipartRequestHandler multipartRequestHandler
          このフォームのMultipartRequestHandlerです。
protected  ActionServlet servlet
          結びつけられているコントローラServletのインスタンスです。
 
コンストラクタの概要
ActionForm()
           
 
メソッドの概要
 MultipartRequestHandler getMultipartRequestHandler()
          このフォームのMultipartRequestHandlerを返します。
protected  ActionServlet getServlet()
          結びつけられているコントローラServletのインスタンスを返します。
 ActionServletWrapper getServletWrapper()
          結びつけられているコントローラServletのインスタンスを 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のインスタンスをセットします (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
結びつけられているコントローラServletのインスタンスです。


multipartRequestHandler

protected transient MultipartRequestHandler multipartRequestHandler
このフォームのMultipartRequestHandlerです。 nullのこともあります。

コンストラクタの詳細

ActionForm

public ActionForm()
メソッドの詳細

getServlet

protected ActionServlet getServlet()
結びつけられているコントローラServletのインスタンスを返します。


getServletWrapper

public ActionServletWrapper getServletWrapper()
結びつけられているコントローラServletのインスタンスを ActionServletWrapperとして返します。

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

getMultipartRequestHandler

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

関連項目:
MultipartRequestHandler

setServlet

public void setServlet(ActionServlet servlet)
結びつけられているコントローラServletのインスタンスをセットします (servletがnullでない場合)。 また、割り当てられた全てのリソースを解放します (servletがnullである場合)。

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

setMultipartRequestHandler

public void setMultipartRequestHandler(MultipartRequestHandler multipartRequestHandler)
ファイルアップロードを扱う際に使用するために与えられたHandlerを設定します。

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

reset

public void reset(ActionMapping mapping,
                  javax.servlet.ServletRequest request)
Beanの全てのプロパティをデフォルトの状態にリセットします。 このメソッドはコントローラServlet がプロパティを設定する前に呼び出されます。

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

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

reset

public void reset(ActionMapping mapping,
                  javax.servlet.http.HttpServletRequest request)
Beanの全てのプロパティをデフォルトの状態にリセットします。 このメソッドはコントローラServlet がプロパティを設定する前に呼び出されます。

デフォルトの実装は何もしません。 サブクラスは全てのBeanプロパティをデフォルトの値にリセットするためにこのメソッドをオーバライドすべきです。

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

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

validate

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

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

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

validate

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

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

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


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