|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.ObjectAction
jp.terasoluna.fw.web.struts.actions.ActionEx
jp.terasoluna.fw.web.struts.actions.DispatchAction
public class DispatchAction
フォワード先の振り分け処理を行う。
Strutsが提供しているDispatcherAction、
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の設定
ここで、eventパラメータが省略された場合、
リクエストパラメータのキーは"event"となる。
<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="default" path="/prev.do"/>
</action>
次に、上記で決定されたキーを用いてリクエストパラメータを検索し 値を取得する。その結果、以下の優先順位で遷移先文字列が決定される。
JSPでの記述例
(ここではリクエストパラメータの値にforward_...
が存在しない場合)
・・・
<html:submit property="forward_regist" value=" 登録 " />
<html:submit property="forward_search" value=" 再検索 " />
<html:image property="forward_update" src="./image/update.gif" />
・・・
画面上の「登録」ボタンが押下されたとき、次の遷移先はregist
になり、「再検索」ボタンが押下されたとき、次の遷移先はsearch
になり、更新画像ボタンが押下されたとき、次の遷移先はupdate
になる。
フィールドの概要 | |
---|---|
private java.lang.String |
event
遷移先を表すプロパティ名。 |
private static java.lang.String |
FORWARD_DEFAULT
リクエストパラメータに振り分け指示がなかった場合の、 デフォルトの遷移先の論理フォワード名。 |
private static java.lang.String |
FORWARD_PREFIX
振り分け指示を識別するための、 リクエストパラメータのキーのプリフィックス。 |
private static Log |
log
ログクラス。 |
クラス jp.terasoluna.fw.web.struts.actions.ActionEx から継承されたフィールド |
---|
FORWARD_TXTOKEN_ERROR |
コンストラクタの概要 | |
---|---|
DispatchAction()
|
メソッドの概要 | |
---|---|
protected ActionForward |
cancelled(ActionMapping mapping,
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)
リクエストパラメータに基づいてフォワード先をディスパッチする。 |
ActionForward |
doExecute(ActionMapping mapping,
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 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
private static 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 ActionForward doExecute(ActionMapping mapping, 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 ActionForward cancelled(ActionMapping mapping, ActionForm form, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
mapping
- アクションマッピングform
- アクションフォームrequest
- HTTPリクエストresponse
- HTTPレスポンス
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |