|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectorg.apache.struts.action.ActionForm
ActionFormは、
1つ以上のActionMappingに任意に関連づけることのできるJavaBeanです。
このBeanのプロパティは、対応するAction.executeメソッドが呼び出される前に、
対応するリクエストパラメータで初期化されます。
Beanのプロパティが設定された後、
Actionのexecuteメソッドが呼び出される前に、
このBeanのvalidateメソッドが呼び出されます。
これはユーザが送信したプロパティが正しくて妥当であるかを確かめる機会をBeanに与えます。
このメソッドで問題が見つかった場合、
問題をカプセル化したエラーメッセージオブジェクトを返し、
コントローラサーブレットは対応する入力フォームに制御を戻します。
また、全てのプロパティが条件に合っていて、
対応するAction.executeメソッドが呼び出されるべきである場合は、
validateメソッドはnullを返します。
このクラスをインスタンス化するためにサブクラスを作成する必要があります。 サブクラスは公開したい全てのBeanプロパティでgetterメソッドとsetter メソッドを提供し、 さらににpublicメソッドやprotectedメソッドを機能の変更に応じてオーバライドすべきです。
ActionFormはJavaBeanですので、
サブクラスもJavaBean仕様を満たすようにSerializableを実装すべきです。
コンテナによっては、
ActionFormが依存しているイントロスペクションAPIを用いるために、
オブジェクトがJavaBeanの全ての要件を満たすことが要求されます。
| フィールドの概要 | |
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 |
| フィールドの詳細 |
protected transient ActionServlet servlet
関連づけられているサーブレットのインスタンス。
protected transient MultipartRequestHandler multipartRequestHandler
このフォームのMultipartRequestHandler。
nullのこともあります。
| コンストラクタの詳細 |
public ActionForm()
| メソッドの詳細 |
protected ActionServlet getServlet()
関連づけられているサーブレットのインスタンスを返します。
public ActionServletWrapper getServletWrapper()
関連づけられているサーブレットのインスタンスをActionServletWrapperとして返します。
ActionServletWrapperpublic MultipartRequestHandler getMultipartRequestHandler()
このフォームのMultipartRequestHandlerを返します。
この背景にある理由は、
MultipartRequestHandlerのfinishメソッドとrollback
メソッドのどちらか、または両方を使用することによって、
フォームBeanの開発者がマルチパートのリクエストのライフサイクルを操作できるようにするためです。
このフォームのenctypeが"multipart/form-data"でない場合はこのメソッドはnullを返します。
MultipartRequestHandlerpublic void setServlet(ActionServlet servlet)
(servletがnullでない場合は)
関連づけられているサーブレットのインスタンスをセットします。
(servletがnullである場合は) 割り当てられた全てのリソースを解放します。
servlet - もしあれば、新しいコントローラサーブレット
public void setMultipartRequestHandler(MultipartRequestHandler multipartRequestHandler)
ファイルアップロードの処理に使うために提供されるHandlerを設定します。
multipartRequestHandler - ファイルアップロードに使用するHandler
public void reset(ActionMapping mapping,
javax.servlet.ServletRequest request)
Beanの全てのプロパティをデフォルトの状態にリセットします。 このメソッドはコントローラがプロパティを再設定する前に呼び出されます。
デフォルトの実装はこのメソッドのHTTPバージョンにフォワードします。
mapping - このインスタンスを選択するために用いられたマッピング
request - 処理中のサーブレットリクエスト
public void reset(ActionMapping mapping,
javax.servlet.http.HttpServletRequest request)
Beanの全てのプロパティを必要に応じてデフォルトの状態にリセットします。 このメソッドはコントローラがプロパティを再設定する前に呼び出されます。
デフォルトの実装は何もしません。 実際に使う場合、 リセットが必要なプロパティはセッションスコープのフォームにあるチェックボックスだけです。 別の方法として、プロパティはフィールドの宣言時に初期値を設定できます。
もし複数のリクエストにわたって値を集められるように(「ウィザード」形式) フォームをセッションスコープに格納する場合、プロパティをリセットするのなら、 どのプロパティをリセットするかに十分に注意しなければいけません。 上述の通り、セッションスコープのチェックボックスは、 プロパティを設定するどのページでもfalseにリセットしなければなりません。 これは、チェックボックスがクリアされた(false)時には値を送信しないためです。 セッションスコープのチェックボックスは、事前にリセットしない限り falseに設定されることはありません。
「更新」タイプのページに関しては、 フォームの値を初期化する場所として、このメソッドはふさわしくありません (値の初期化はセットアップ用のActionの中で行なうべきです)。 たいていの場合にチェックボックスの値がfalseに設定されているかを気にする必要はありますが、 ほとんどの場合はこのメソッドを実装しないでおいて構いません。
mapping - このインスタンスを選択するために用いられたマッピング
request - 処理中のサーブレットリクエスト
public ActionErrors validate(ActionMapping mapping,
javax.servlet.ServletRequest request)
非HTTPリクエストにセットされているプロパティの妥当性を検証して、
見つかった全ての検証エラーをカプセル化したActionErrorsオブジェクトを返します。
エラーが見つからなかった場合、
nullもしくは、
エラーメッセージが何も記録されていないActionErrorsオブジェクトを返します。
デフォルトの実装はこのメソッドのHTTPバージョンにフォワードします。
mapping - このインスタンスを選択するために用いられたマッピング
request - 処理しているサーブレットリクエスト
public ActionErrors validate(ActionMapping mapping,
javax.servlet.http.HttpServletRequest request)
HTTPリクエストにセットされているプロパティの妥当性を検証して、
見つかった全ての検証エラーをカプセル化したActionErrorsオブジェクトを返します。
エラーが見つからなかった場合、
nullもしくは、
エラーメッセージが何も記録されていないActionErrorsオブジェクトを返します。
デフォルトの実装は何の検証も行なわずにnullを返します。
サブクラスは独自の妥当性の検証を行なうためにこのメソッドをオーバライドしなくてはいけません。
mapping - このインスタンスを選択するために用いられたマッピング
request - 処理しているサーブレットリクエスト
DynaActionForm
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||