|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectorg.apache.struts.action.Action
jp.terasoluna.fw.web.struts.actions.ActionEx
public abstract class ActionEx
アクション基底クラス。
StrutsのActionに、ログ出力機能・トランザクション
トークンチェック機能を追加している。
これらの機能を利用する場合は、本クラスを継承すること。
本クラスを利用するためには、doExecute()メソッドを
オーバライドしたサブクラスを作成し、struts-config.xmlの
<action>要素内のtype属性でクラス名を設定する。
トランザクショントークンチェックとは、サブミット2度押しや、
ブラウザの「戻る」ボタンを使った重複サブミットを防ぐ機能である。
トランザクショントークンチェックを行うためには、以下の設定を
行う必要がある。
サブクラスLogoffActionのBean定義ファイルの設定例
<bean name="/admin/Logout" scope="prototype"
class="jp.terasoluna.fw.web.struts.actions.LogoffAction">
<property property="tokenCheck">
<value>true</value>
</property>
<property property="saveToken">
<value>false</value>
</property>
</bean>
サブクラスLogoffActionのstruts-config.xmlの設定例
なお、内部要素のforwardで、pathの先頭にスラッシュ
"/"を付け、moduleを設定した場合、
モジュールごとの相対パスで遷移することができる。
<action path="/admin/Logout"
name="logonSampleForm"
scope="session"
parameter="/sub/logout.jsp">
<forward name="txtoken-error" modeule="/sub"
path="/doubleRegistError.jsp"/>
</action>
また、本機能をサブクラスで継承する場合、doExecute()メソッドを
エントリポイントとして実装する必要がある。
アクションマッピングの設定については、ActionMappingExを参照のこと。
ActionMappingEx
フィールドの概要 | |
---|---|
protected static String |
FORWARD_TXTOKEN_ERROR
トランザクショントークンチェックエラー時の論理フォワード名。 |
クラス org.apache.struts.action.Action から継承されたフィールド |
---|
defaultLocale, servlet |
コンストラクタの概要 | |
---|---|
ActionEx()
|
メソッドの概要 | |
---|---|
protected void |
addErrors(javax.servlet.http.HttpSession session,
org.apache.struts.action.ActionMessages errors)
セッションから、Globals.ERROR_KEYをキーとして ActionMessagesを取得し、追加後に再度格納を行う。 |
protected void |
addMessages(javax.servlet.http.HttpSession session,
org.apache.struts.action.ActionMessages messages)
セッションから、Globals.MESSAGE_KEYをキーとして ActionMessagesを取得し、追加後に再度格納を行う。 |
abstract org.apache.struts.action.ActionForward |
doExecute(org.apache.struts.action.ActionMapping mapping,
org.apache.struts.action.ActionForm form,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
アクションを実行する抽象メソッド。 |
org.apache.struts.action.ActionForward |
execute(org.apache.struts.action.ActionMapping mapping,
org.apache.struts.action.ActionForm form,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
アクションを実行する。 |
protected boolean |
isSaveToken()
トランザクショントークン保存フラグを取得する |
protected boolean |
isTokenCheck()
トランザクショントークンチェックフラグを取得する。 |
protected boolean |
processTokenCheck(org.apache.struts.action.ActionMapping mapping,
javax.servlet.http.HttpServletRequest req)
トランザクショントークンのチェックを行う。 |
void |
setSaveToken(boolean saveToken)
トランザクショントークン保存フラグを設定する。 |
void |
setTokenCheck(boolean tokenCheck)
トランザクショントークンチェックフラグを設定する。 |
クラス 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 |
フィールドの詳細 |
---|
protected static final String FORWARD_TXTOKEN_ERROR
コンストラクタの詳細 |
---|
public ActionEx()
メソッドの詳細 |
---|
public void setTokenCheck(boolean tokenCheck)
tokenCheck
- トランザクショントークンチェックフラグpublic void setSaveToken(boolean saveToken)
saveToken
- トランザクショントークン保存フラグprotected boolean isTokenCheck()
protected boolean isSaveToken()
public org.apache.struts.action.ActionForward execute(org.apache.struts.action.ActionMapping mapping, org.apache.struts.action.ActionForm form, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws Exception
サブクラスで実装されたdoExecute()メソッド呼び出し前に、
アクションフォームのmodified属性をfalseに書き換える。
doExecute()の実行後、アクションフォームの
フィールド値に変更があればリクエスト属性にSKIP_POPULATE
を保存し、RequestProcessorExで
processPopulate()の処理を抑制している。
org.apache.struts.action.Action
内の execute
mapping
- このアクションに紐づいたアクションマッピングform
- アクションフォームrequest
- リクエスト情報response
- レスポンス情報
Exception
- アクション実行時の例外public abstract org.apache.struts.action.ActionForward doExecute(org.apache.struts.action.ActionMapping mapping, org.apache.struts.action.ActionForm form, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws Exception
このメソッドをサブクラスでオーバーライドし、 アクションの機能を拡張する。
mapping
- このアクションに紐づいたアクションマッピングform
- アクションフォームrequest
- リクエスト情報response
- レスポンス情報
Exception
- 予期しない例外protected boolean processTokenCheck(org.apache.struts.action.ActionMapping mapping, javax.servlet.http.HttpServletRequest req)
mapping
- アクションマッピングreq
- HTTPリクエスト
true
protected void addErrors(javax.servlet.http.HttpSession session, org.apache.struts.action.ActionMessages errors)
session
- セッションerrors
- エラーメッセージ情報protected void addMessages(javax.servlet.http.HttpSession session, org.apache.struts.action.ActionMessages messages)
session
- セッションmessages
- メッセージ情報
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |