|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectorg.apache.struts.action.Action
jp.terasoluna.fw.web.struts.actions.ActionEx
jp.terasoluna.fw.web.struts.actions.DispatchAction
public class DispatchAction
フォワード先の振り分け処理を行う。
リクエストパラメータを用いて、遷移先を決定する。
Strutsが提供しているDispatchAction、LookupDispatchActionと仕様が異なるため、注意すること。
まず、リクエストパラメータキーの設定をBean定義ファイルで必要に応じて行う (デフォルト値は"event")。
下記に記した定義ファイルは リクエストパラメータのキーをcustom-eventに設定する例である。
Bean定義ファイルの設定
<bean name="/dispatch" scope="prototype"
class="jp.terasoluna.fw.web.struts.actions.DispatchAction">
<property name="event">
<value>custom-event</value>
</property>
</bean>
次に、遷移文字列を決定する。優先順位は次の通り。
struts-config.xmlの設定
<action path="/dispatch"
name="_sampleForm"
scope="session"
input="/prev.jsp">
<forward name="regist" path="/userRegist.do"/>
<forward name="search" path="/userSearch.do"/>
<forward name="update" path="/userUpdate.do"/>
<forward name="decide" path="/prev.do"/>
<forward name="default" path="/prev.do"/>
</action>
JSPでの記述例
リクエストパラメータの値に"forward_" + 論理フォワード名と定義する。
・・・
<html:radio property="custom-event" value="forward_regist"/>
<html:radio property="custom-event" value="forward_search"/>
<html:radio property="custom-event" value="forward_update"/>
<html:radio property="custom-event" value="forward_#input"/>
<html:submit property="forward_decide" value="決定"/>
<html:submit value="戻る"/>
・・・
各操作を行った場合の遷移先は次の通り。
フィールドの概要 | |
---|---|
private java.lang.String |
event
遷移先を表すプロパティ名。 |
private static java.lang.String |
FORWARD_DEFAULT
リクエストパラメータに振り分け指示がなかった場合の、 デフォルトの遷移先の論理フォワード名。 |
private static java.lang.String |
FORWARD_PREFIX
振り分け指示を識別するための、 リクエストパラメータのキーのプリフィックス。 |
private static org.apache.commons.logging.Log |
log
ログクラス。 |
クラス jp.terasoluna.fw.web.struts.actions.ActionEx から継承されたフィールド |
---|
FORWARD_TXTOKEN_ERROR |
クラス org.apache.struts.action.Action から継承されたフィールド |
---|
defaultLocale, servlet |
コンストラクタの概要 | |
---|---|
DispatchAction()
|
メソッドの概要 | |
---|---|
protected org.apache.struts.action.ActionForward |
cancelled(org.apache.struts.action.ActionMapping mapping,
org.apache.struts.action.ActionForm form,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
リクエストにキャンセルフラグが設定されている場合の遷移先を 決定する。 |
protected java.lang.String |
doDetermineForward(java.util.Map params,
java.lang.String event)
リクエストパラメータに基づいてフォワード先をディスパッチする。 |
org.apache.struts.action.ActionForward |
doExecute(org.apache.struts.action.ActionMapping mapping,
org.apache.struts.action.ActionForm form,
javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
フォワード先の振り分け処理を行う。 |
protected boolean |
exists(java.util.Map params,
java.lang.String name)
リクエストパラメータに、nameで指定した名称のパラメータが 存在しているかを判定する。 |
void |
setEvent(java.lang.String value)
遷移先を表すプロパティ名を設定する。 |
クラス jp.terasoluna.fw.web.struts.actions.ActionEx から継承されたメソッド |
---|
addErrors, addMessages, execute, isSaveToken, isTokenCheck, processTokenCheck, setSaveToken, setTokenCheck |
クラス org.apache.struts.action.Action から継承されたメソッド |
---|
addErrors, addMessages, execute, generateToken, getDataSource, getDataSource, getErrors, getLocale, getMessages, getResources, getResources, getServlet, isCancelled, isTokenValid, isTokenValid, resetToken, saveErrors, saveErrors, saveErrors, saveMessages, saveMessages, saveToken, setLocale, setServlet |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
private static org.apache.commons.logging.Log log
private static final java.lang.String FORWARD_DEFAULT
private static final java.lang.String FORWARD_PREFIX
private java.lang.String event
コンストラクタの詳細 |
---|
public DispatchAction()
メソッドの詳細 |
---|
public void setEvent(java.lang.String value)
value
- 遷移先プロパティ名public org.apache.struts.action.ActionForward doExecute(org.apache.struts.action.ActionMapping mapping, org.apache.struts.action.ActionForm form, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
フォワード先を振り分けた後、サーバ閉塞通過フラグを
削除する。
実際の遷移先は、doDetamineForward()が決定している。
ActionEx
内の doExecute
mapping
- アクションマッピングform
- アクションフォームreq
- HTTP
リクエストres
- HTTP
レスポンス
protected java.lang.String doDetermineForward(java.util.Map params, java.lang.String event)
params
- リクエストパラメータ(マップ形式)event
- アクションマッピングに指定されたイベント名
protected boolean exists(java.util.Map params, java.lang.String name)
params
- リクエストパラメータ(マップ形式)name
- リクエストパラメータ名
true
protected org.apache.struts.action.ActionForward cancelled(org.apache.struts.action.ActionMapping mapping, org.apache.struts.action.ActionForm form, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
mapping
- アクションマッピングform
- アクションフォームrequest
- HTTPリクエストresponse
- HTTPレスポンス
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |