org.apache.struts.action
クラス Action

java.lang.Object
  拡張org.apache.struts.action.Action
直系の既知のサブクラス:
ActionBase, AddFormBeanAction, AddForwardAction, AddMappingAction, DispatchAction, ForwardAction, IncludeAction, ReloadAction, RemoveFormBeanAction, RemoveForwardAction, RemoveMappingAction

public class Action
extends java.lang.Object

ActionはHTTPリクエストの内容とそのリクエストを処理するために実行されるべきビジネスロジックとの間のアダプタクラスです。 コントローラ(ActionServlet)はリクエストに適切なActionを選択して(必要に応じて)インスタンスを生成し、performメソッドを呼び出します。

コントローラは同時に発生した複数のリクエストに対して同一のインスタンスを共有するため、Actionはスレッドセーフであるようにプログラムすべきです。 すなわち次の項目に従って設計すべきです。

Actionインスタンスが最初に生成される時、コントローラServletはそのActionが結びつけられるコントローラServletインスタンスを識別するためにnullでない引数とともにsetServlet()を呼び出します。 コントローラServletがシャットダウン(または再起動)する時、そのActionに割り当てられている使用中のリソースをクリーンアップするためにsetServlet()がnullの引数とともに呼び出されます。

バージョン:
$Revision: 1.2 $ $Date: 2003/03/22 07:55:10 $
作成者:
Craig R. McClanahan
翻訳者:
横田 健彦 [日本語訳のコメントは、report@jajakarta.orgに送ってください。]

フィールドの概要
static java.lang.String DATA_SOURCE_KEY
          アプリケーションのために設定されている場合、 デフォルトのデータソース(javax.sql.DataSourceを実装している必要があります)が格納されているコンテキスト属性のキーです。
protected static java.util.Locale defaultLocale
          システムのデフォルトのロケールです。
static java.lang.String ERROR_KEY
          対応するカスタムタグライブラリの要素を使用している場合、アクションがorg.apache.struts.action.ActionErrorsオブジェクトを格納すべきリクエスト属性のキーです。
static java.lang.String EXCEPTION_KEY
          Strutsのカスタムタグの中で実行時に生じたJspExceptionを報告するために生成されたThrowableを格納するリクエスト属性のキーです。
static java.lang.String FORM_BEANS_KEY
          ActionServletの初期化により上書きされるまで、 org.apache.struts.action.ActionFormBeansコレクションが通常格納されているコンテキスト属性のキーです。
static java.lang.String FORWARDS_KEY
          ActionServletの初期化により上書きされるまで、 org.apache.struts.action.ActionForwardsコレクションが通常格納されているコンテキスト属性のキーです。
static java.lang.String LOCALE_KEY
          ユーザが選択したjava.util.Localeがあればそれが格納されているセッション属性のキーです。
static java.lang.String MAPPING_KEY
          org.apache.struts.ActionMappingのインスタンスが渡されるリクエスト属性のキーです。
static java.lang.String MAPPINGS_KEY
          ActionServletの初期化により上書きされるまで、 org.apache.struts.action.ActionMappingsのコレクションが通常格納されているコンテキスト属性のキーです。
static java.lang.String MESSAGES_KEY
          ActionServletの初期化により上書きされるまで、 アプリケーションのリソースが通常格納されているコンテキスト属性のキーです。
static java.lang.String MULTIPART_KEY
          マルチパートのクラスが格納されているリクエスト属性のキーです。
protected  ActionServlet servlet
          このActionに関連づけられているコントローラServletです。
static java.lang.String SERVLET_KEY
          コントローラServletのために定義されているマッピングが格納されているコンテキスト属性のキーです。
static java.lang.String TRANSACTION_TOKEN_KEY
          トランザクショントークンが利用されている場合、 それが格納されているセッション属性のキーです。
 
コンストラクタの概要
Action()
           
 
メソッドの概要
protected  java.lang.String generateToken(javax.servlet.http.HttpServletRequest request)
          1つのトランザクションに対してリクエストが1つだけであるようにするために使用する、 新しいトランザクショントークンを生成します。
protected  java.util.Locale getLocale(javax.servlet.http.HttpServletRequest request)
          ユーザの現在選択されているロケールを返します。
protected  MessageResources getResources()
          このアプリケーションのメッセージリソースを返します。
 ActionServlet getServlet()
          このActionに関連づけられているコントローラServletのインスタンスを返します。
protected  boolean isCancelled(javax.servlet.http.HttpServletRequest request)
          現在のフォームのキャンセルボタンが押されていれば trueを返します。
protected  boolean isTokenValid(javax.servlet.http.HttpServletRequest request)
          ユーザの現在のセッションにトランザクショントークンが保持されていて、 かつこのアクションのリクエストパラメータとして送信された値がそのトークンとマッチする場合に trueを返します。
 ActionForward perform(ActionMapping mapping, ActionForm form, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          指定されたHTTPリクエストを処理して、 対応するHTTPレスポンスを生成します (もしくはレスポンスを生成する他のWebコンポーネントにリクエストをフォワードします)。
 ActionForward perform(ActionMapping mapping, ActionForm form, javax.servlet.ServletRequest request, javax.servlet.ServletResponse response)
          指定された非HTTPリクエストを処理して、 対応する非HTTPレスポンスを生成します (またはレスポンスを生成する他のWebコンポーネントにリクエストをフォワードします)。
 ActionForward perform(ActionServlet servlet, ActionMapping mapping, ActionForm form, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          推奨されていません。 servlet引数がない新しいperform()メソッドを使うようにして下さい
 ActionForward perform(ActionServlet servlet, ActionMapping mapping, ActionForm form, javax.servlet.ServletRequest request, javax.servlet.ServletResponse response)
          推奨されていません。 servlet引数がない新しいperform()メソッドを使用して下さい。
protected  void resetToken(javax.servlet.http.HttpServletRequest request)
          ユーザのセッションに保存されているトランザクショントークンをリセットします。
protected  void saveErrors(javax.servlet.http.HttpServletRequest request, ActionErrors errors)
          なんらかのエラーメッセージが必要な場合、 <struts:errors>タグが利用できるように、 指定されたエラーメッセージキーを適切なリクエスト属性に保存します。
protected  void saveToken(javax.servlet.http.HttpServletRequest request)
          ユーザの現在のセッションに新しいトランザクショントークンを保存します。
protected  void setLocale(javax.servlet.http.HttpServletRequest request, java.util.Locale locale)
          ユーザの現在選択されているロケールを設定します。
 void setServlet(ActionServlet servlet)
          (servletがnullでない場合)このActionに関連づけられているコントローラServletのインスタンスをセットします。
protected  java.lang.String toHex(byte[] buffer)
          byteの配列を16進数の文字列に変換して返します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

DATA_SOURCE_KEY

public static final java.lang.String DATA_SOURCE_KEY
アプリケーションのために設定されている場合、 デフォルトのデータソース(javax.sql.DataSourceを実装している必要があります)が格納されているコンテキスト属性のキーです。

関連項目:
定数フィールド値

ERROR_KEY

public static final java.lang.String ERROR_KEY
対応するカスタムタグライブラリの要素を使用している場合、アクションがorg.apache.struts.action.ActionErrorsオブジェクトを格納すべきリクエスト属性のキーです。

関連項目:
定数フィールド値

EXCEPTION_KEY

public static final java.lang.String EXCEPTION_KEY
Strutsのカスタムタグの中で実行時に生じたJspExceptionを報告するために生成されたThrowableを格納するリクエスト属性のキーです。この値は実際には何がうまくいかなかったのかということに関してより詳細な情報を提供するためにエラーページで使用できます。

関連項目:
定数フィールド値

FORM_BEANS_KEY

public static final java.lang.String FORM_BEANS_KEY
ActionServletの初期化により上書きされるまで、 org.apache.struts.action.ActionFormBeansコレクションが通常格納されているコンテキスト属性のキーです。

関連項目:
定数フィールド値

FORWARDS_KEY

public static final java.lang.String FORWARDS_KEY
ActionServletの初期化により上書きされるまで、 org.apache.struts.action.ActionForwardsコレクションが通常格納されているコンテキスト属性のキーです。

関連項目:
定数フィールド値

LOCALE_KEY

public static final java.lang.String LOCALE_KEY
ユーザが選択したjava.util.Localeがあればそれが格納されているセッション属性のキーです。 この属性が見つからない場合、国際化されたメッセージを検索する際にはシステムのデフォルトのロケールが使用されます。 この属性を利用する場合、典型的にはこの属性はユーザのログイン処理の際にセットされます。

関連項目:
定数フィールド値

MAPPING_KEY

public static final java.lang.String MAPPING_KEY
org.apache.struts.ActionMappingのインスタンスが渡されるリクエスト属性のキーです。

関連項目:
定数フィールド値

MAPPINGS_KEY

public static final java.lang.String MAPPINGS_KEY
ActionServletの初期化により上書きされるまで、 org.apache.struts.action.ActionMappingsのコレクションが通常格納されているコンテキスト属性のキーです。

関連項目:
定数フィールド値

MESSAGES_KEY

public static final java.lang.String MESSAGES_KEY
ActionServletの初期化により上書きされるまで、 アプリケーションのリソースが通常格納されているコンテキスト属性のキーです。

関連項目:
定数フィールド値

MULTIPART_KEY

public static final java.lang.String MULTIPART_KEY
マルチパートのクラスが格納されているリクエスト属性のキーです。

関連項目:
定数フィールド値

SERVLET_KEY

public static final java.lang.String SERVLET_KEY
コントローラServletのために定義されているマッピングが格納されているコンテキスト属性のキーです。格納されているマッピングはパスマップ(path-mapped)パターン(/action/*)もしくは拡張子マップ(extension mapped)パターン(*.do)のどちらかです。

関連項目:
定数フィールド値

TRANSACTION_TOKEN_KEY

public static final java.lang.String TRANSACTION_TOKEN_KEY
トランザクショントークンが利用されている場合、 それが格納されているセッション属性のキーです。

関連項目:
定数フィールド値

defaultLocale

protected static java.util.Locale defaultLocale
システムのデフォルトのロケールです。


servlet

protected ActionServlet servlet
このActionに関連づけられているコントローラServletです。

コンストラクタの詳細

Action

public Action()
メソッドの詳細

getServlet

public ActionServlet getServlet()
このActionに関連づけられているコントローラServletのインスタンスを返します。


setServlet

public void setServlet(ActionServlet servlet)
servletがnullでない場合)このActionに関連づけられているコントローラServletのインスタンスをセットします。または(servletがnullである場合)このActionに関連づけられているリソースを解放します。

パラメータ:
servlet - 新しいコントローラServlet

perform

public ActionForward perform(ActionServlet servlet,
                             ActionMapping mapping,
                             ActionForm form,
                             javax.servlet.ServletRequest request,
                             javax.servlet.ServletResponse response)
                      throws java.io.IOException,
                             javax.servlet.ServletException
推奨されていません。 servlet引数がない新しいperform()メソッドを使用して下さい。

指定された非HTTPリクエストを処理して、 対応する非HTTPレスポンスを生成します (またはレスポンスを生成する他のWebコンポーネントにリクエストをフォワードします)。 コントロールをどこにどうやってフォワードすべきかが記述された ActionForwardインスタンスもしくは、 レスポンスが既に完成している場合はnullを返します。

パラメータ:
servlet - このActionを所有しているActionServletインスタンス
mapping - このインスタンスを選択するために使用したActionMapping
request - 処理しているServletリクエスト
response - 処理しているServletレスポンス
例外:
java.io.IOException - 入出力エラーが発生した
javax.servlet.ServletException - Servlet例外が発生した

perform

public ActionForward perform(ActionMapping mapping,
                             ActionForm form,
                             javax.servlet.ServletRequest request,
                             javax.servlet.ServletResponse response)
                      throws java.io.IOException,
                             javax.servlet.ServletException
指定された非HTTPリクエストを処理して、 対応する非HTTPレスポンスを生成します (またはレスポンスを生成する他のWebコンポーネントにリクエストをフォワードします)。 コントロールをどこにどうやってフォワードすべきかが記述された ActionForwardインスタンスもしくは、 レスポンスが既に完成している場合はnullを返します。

デフォルトの実装では、このメソッドのHTTPバージョンにフォワードします。

パラメータ:
mapping - このインスタンスを選択するために使用したActionMapping
request - 処理している非HTTPリクエスト
response - 処理している非HTTPレスポンス
例外:
java.io.IOException - 入出力エラーが発生した
javax.servlet.ServletException - Servlet例外が発生した

perform

public ActionForward perform(ActionServlet servlet,
                             ActionMapping mapping,
                             ActionForm form,
                             javax.servlet.http.HttpServletRequest request,
                             javax.servlet.http.HttpServletResponse response)
                      throws java.io.IOException,
                             javax.servlet.ServletException
推奨されていません。 servlet引数がない新しいperform()メソッドを使うようにして下さい

指定されたHTTPリクエストを処理して、 対応するHTTPレスポンスを生成します (またはレスポンスを生成する他のWebコンポーネントにリクエストをフォワードします)。 コントロールをどこにどうやってフォワードすべきかが記述された ActionForwardインスタンスもしくは、 レスポンスが既に完成している場合はnullを返します。

パラメータ:
servlet - このActionを所有しているActionServletインスタンス
mapping - このインスタンスを選択するために使用したActionMapping
request - 処理しているServletリクエスト
response - 処理しているServletレスポンス
例外:
java.io.IOException - 入出力エラーが発生した
javax.servlet.ServletException - Servlet例外が発生した

perform

public ActionForward perform(ActionMapping mapping,
                             ActionForm form,
                             javax.servlet.http.HttpServletRequest request,
                             javax.servlet.http.HttpServletResponse response)
                      throws java.io.IOException,
                             javax.servlet.ServletException
指定されたHTTPリクエストを処理して、 対応するHTTPレスポンスを生成します (もしくはレスポンスを生成する他のWebコンポーネントにリクエストをフォワードします)。 コントロールをどこにどうやってフォワードするかが記述された ActionForwardインスタンスもしくは、 レスポンスが既に完成している場合はnullを返します。

パラメータ:
mapping - このインスタンスを選択するために使用したアクションマッピング
request - 処理しているHTTPリクエスト
response - 生成中のHTTPレスポンス
例外:
java.io.IOException - 入出力エラーが発生した
javax.servlet.ServletException - Servlet例外が発生した

generateToken

protected java.lang.String generateToken(javax.servlet.http.HttpServletRequest request)
1つのトランザクションに対してリクエストが1つだけであるようにするために使用する、 新しいトランザクショントークンを生成します。

パラメータ:
request - 処理しているServletリクエスト

getLocale

protected java.util.Locale getLocale(javax.servlet.http.HttpServletRequest request)
ユーザの現在選択されているロケールを返します。

パラメータ:
request - 処理しているServletリクエスト

getResources

protected MessageResources getResources()
このアプリケーションのメッセージリソースを返します。


isCancelled

protected boolean isCancelled(javax.servlet.http.HttpServletRequest request)
現在のフォームのキャンセルボタンが押されていれば trueを返します。 このメソッドは現在のリクエストにおいて CancelTag が生成したキャンセルボタンをユーザが押したかをチェックします。 trueの場合、コントローラServletは ActionFormのvalidate() メソッドによるバリデーションをスキップします。

パラメータ:
request - 処理しているServletリクエスト
関連項目:
CancelTag, ValidatingActionForm

isTokenValid

protected boolean isTokenValid(javax.servlet.http.HttpServletRequest request)
ユーザの現在のセッションにトランザクショントークンが保持されていて、 かつこのアクションのリクエストパラメータとして送信された値がそのトークンとマッチする場合に trueを返します。 次のいずれかの場合はfalseを返します:

パラメータ:
request - 処理しているServletリクエスト

resetToken

protected void resetToken(javax.servlet.http.HttpServletRequest request)
ユーザのセッションに保存されているトランザクショントークンをリセットします。 これは送信される次のリクエストに関してはトランザクショントークンをチェックする必要がないということです。

パラメータ:
request - 処理しているServletリクエスト

saveErrors

protected void saveErrors(javax.servlet.http.HttpServletRequest request,
                          ActionErrors errors)
なんらかのエラーメッセージが必要な場合、 <struts:errors>タグが利用できるように、 指定されたエラーメッセージキーを適切なリクエスト属性に保存します。 そうでない場合はリクエスト属性が生成されないようにします。

パラメータ:
request - 処理しているServletリクエスト
errors - エラーメッセージオブジェクト

saveToken

protected void saveToken(javax.servlet.http.HttpServletRequest request)
ユーザの現在のセッションに新しいトランザクショントークンを保存します。 必要に応じてセッションが新しく生成されます。

パラメータ:
request - 処理しているServletリクエスト

setLocale

protected void setLocale(javax.servlet.http.HttpServletRequest request,
                         java.util.Locale locale)
ユーザの現在選択されているロケールを設定します。

パラメータ:
request - 処理しているリクエスト
locale - 設定される、ユーザの現在選択されているロケール。 サーバのデフォルトのロケールを選択する場合はnull

toHex

protected java.lang.String toHex(byte[] buffer)
byteの配列を16進数の文字列に変換して返します。

パラメータ:
buffer - 変換するbyteの配列


このドキュメントは、Ja-Jakartaにより訳されました。コメントがある場合は、report@jajakarta.orgまでお願いします。
Copyright (C) 2000-2002 - Apache Software Foundation