|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectorg.apache.struts.action.Action
org.apache.struts.actions.DispatchAction
抽象 Action クラスであり、対応する ActionMapping
の parameter プロパティで指定された名前のリクエスト
パラメータにより名づけられたパブリックメソッドへディスパッチします。
この Action は、アプリケーション設計を単純化するために、多数の類似した
アクションを単一の Action クラスに結合することを好む開発者にとって有用です。
このアクションの使用を struts-config.xml ファイルで設定
するには、以下のようなエントリを追加します:
<action path="/saveSubscription"
type="org.apache.struts.actions.DispatchAction"
name="subscriptionForm"
scope="request"
input="/subscription.jsp"
parameter="method"/>
この定義では、 "method" と名づけられたリクエストパラメータの値を使用し、 適切な "perform" メソッドを選択します。これらのメソッドは、標準の Action.perform() メソッドの同じシグニチャ(メソッド名以外は)を持たなければなりません。 例えば、同じアクション中に以下の三つのメソッドを持つとしましょう:
そうすれば、メソッドの一つをこのようなURLで呼び出すことができます:
http://localhost:8080/myapp/saveSubscription.do?method=update
注意 - 上記以外のマッピング特性は全て、 さまざまなハンドラで共有されます。このことは、どのような ハンドラを同じ DispatchAction サブクラスにリーズナブルにまとめてもよいかについて、 ある種の制約を与えます。
| フィールドの概要 | |
protected java.lang.Class |
clazz
この DispatchAction クラスの Class インスタンス。 |
protected static MessageResources |
messages
このパッケージのメッセージリソース。 |
protected java.util.HashMap |
methods
このクラスのためにイントロスペクトする、Method オブジェクトの集合で、 キーはメソッド名。 |
protected java.lang.Class[] |
types
リフレクトされたメソッド呼び出で使われる引数の型のクラスの集合。 |
| クラス org.apache.struts.action.Action から継承したフィールド |
DATA_SOURCE_KEY, defaultLocale, ERROR_KEY, EXCEPTION_KEY, FORM_BEANS_KEY, FORWARDS_KEY, LOCALE_KEY, MAPPING_KEY, MAPPINGS_KEY, MESSAGES_KEY, MULTIPART_KEY, servlet, SERVLET_KEY, TRANSACTION_TOKEN_KEY |
| コンストラクタの概要 | |
DispatchAction()
|
|
| メソッドの概要 | |
protected java.lang.reflect.Method |
getMethod(java.lang.String name)
現在のクラスをイントロスペクトし、指定された名前で、 perform()
メソッドと同じパラメータタイプを受け入れるメソッドを見つけます。 |
ActionForward |
perform(ActionMapping mapping,
ActionForm form,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
指定されたHTTPリクエストを処理して、 対応するHTTPレスポンスを生成します (またはレスポンスを生成する他のWebコンポーネントにリクエストをフォワードします)。 |
| クラス org.apache.struts.action.Action から継承したメソッド |
generateToken, getLocale, getResources, getServlet, isCancelled, isTokenValid, perform, perform, perform, resetToken, saveErrors, saveToken, setLocale, setServlet, toHex |
| クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| フィールドの詳細 |
protected java.lang.Class clazz
DispatchAction クラスの Class インスタンス。
protected static MessageResources messages
protected java.util.HashMap methods
protected java.lang.Class[] types
| コンストラクタの詳細 |
public DispatchAction()
| メソッドの詳細 |
public ActionForward perform(ActionMapping mapping,
ActionForm form,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws java.io.IOException,
javax.servlet.ServletException
ActionForward
インスタンスもしくは、 レスポンスが既に完成している場合は nullを返します。
Action 内の performmapping - このインスタンスを選択するのに使用される ActionMappingrequest - 処理中の HTTP リクエストresponse - 作成中の HTTP レスポンス
java.io.IOException - 入出力エラーが起きた場合
javax.servlet.ServletException - サーブレット例外が起きた場合
protected java.lang.reflect.Method getMethod(java.lang.String name)
throws java.lang.NoSuchMethodException
perform()
メソッドと同じパラメータタイプを受け入れるメソッドを見つけます。
name - イントロスペクトするメソッド名
java.lang.NoSuchMethodException - そのようなメソッドが見つからない場合
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||