Struts 2.1.8.1で実装されているインターセプタ
現在リリース版となっているStruts 2.1.8.1のインターセプタ一覧は以下のとおりです。
表中のxworkは、Struts 2の前身であるフレームワークであるwebworkで実装されている機能です。
| サーブレット属性管理用インターセプタ | ||
|---|---|---|
| インターセプタ | エイリアス | 概要 |
| Cookie Interceptor | cookie | Cookieの値をMap型のフィールドへ自動的に格納する(参照のみ可)。 |
| ClearSessionInterceptor | clearSession | Actionが起動すると同時にHTTPセッションの中身を消去する。 |
| Create Session Interceptor | createSession | Actionが起動すると同時にHTTPセッションが生成される。 |
| ActionMapping Parameters Inteceptor | actionMappingParams | Struts 2のActionMappingを取り出し、内容を追加する処理を行えるようにする。 |
| Scope Interceptor | scope | Actionクラスのフィールドを、セッション属性またはアプリケーション属性にて取り扱えるようになる。 |
| Servlet Config Interceptor | servletConfig | サーブレット属性全般を特定フィールドにて取り扱えるかどうかを、実装インターフェイスからチェックし、合致すればバインドする。 |
| Roles Interceptor | roles | JavaWEBアプリケーションの認証仕様(JAAS)にて取得できる認証情報から、Actionクラスに対してアクセス可能なロールであるかを判定する。 |
| Action制御用インターセプタ | ||
| インターセプタ | エイリアス | 概要 |
| Chaining Interceptor | chain | 元actionのフィールドを引き継ぐリクエストのフォワードを行う。 |
| Execute and Wait Interceptor | execAndWait | Actionクラスを別スレッド(BackgroundProsess)にて動かし、Actionクラスの動作が完了するまでResultにwaitを返すようにする。スレッドはセッション単位。 |
| Exception Interceptor | exception | 例外を検出した場合、設定されている例外とresultの対応マッピングを見て、例外ごとに定義されたresultを返すようする。 |
| Prepare Interceptor | prepare | prepare()メソッドにて、Actionの実行の前処理を実装することができるようになる。 |
| Token Interceptor | token | リクエストごとに発行される一時トークンをチェックし、合致しなければActionが起動されない。<s:token />で利用できる。トークンはセッションに保存される。 |
| Token Session Interceptor | tokenSession | TokenInterceptorと同様の動きをする。違いは遷移チェックエラーを検出した場合、セッション情報を復元する。 |
| Validation Interceptor | validation | Actionに対して入力チェック(Validator)を利用できるようになる。 |
| Workflow Interceptor | workflow | ValidatorInterceptorとセットで使われる。入力チェックエラーが発生するとinputへ遷移する。 |
| AnnotetionWorkfliwInterceptor | annotetionWorkflow | アノテーション定義されたメソッドの実行順序を比較し、定義された実行順序に応じて実行をする。 |
| パラメータ制御用インターセプタ | ||
| インターセプタ | エイリアス | 概要 |
| Alias Interceptor | alias | リクエストパラメータを別名のフィールドへコピーする。 |
| Conversion Error Interceptor | conversionError | TypeConverterによる型変換エラーを入力チェックへ変換する。 |
| ExternalReferenceInterceptor | externalRef | 2.1.8.1では未実装。パッケージ外でカプセル化されたBeanを外部参照で解決した場合に、該当Actionクラスでも外部参照を利用できるようにする。Xwork2.2.7での機能。 |
| File Upload Interceptor | fileUpload | ファイルアップロード機能の実装を手助けするインターセプタ。 |
| I18n Interceptor | i18n | HTTPリクエストの内容からロケール(i18n)対応を行い、リソースバンドルから正しいロケールで文字列を返す。メッセージ全般に使われる。 |
| Model Driven Interceptor | modelDriven | Actionクラスのmodelフィールドに対して、getModel()で実装した内容のインスタンスがバインドされる。 |
| Scoped Model Driven Interceptor | scopedModelDriven | 設定したスコープ(セッション、コンテキスト)にてmodelインスタンスを扱い、setModel()にて実装した内容からインスタンスを取得することができる。 |
| Parameters Interceptor | params | リクエストパラメータをActionのフィールドへ自動的にバインドする。 |
| Static Parameters Interceptor | staticParams | struts.xmlにて定義された定数をActionクラスへバインドする。 |
| Message Store Interceptor | store | ActionクラスのメッセージをHTTPセッションへ保持する。 |
| Checkbox Interceptor | checkbox | 未チェックのチェックボックス項目がリクエストパラメータから欠けないようにhiddenパラメータを自動生成し、本来のフィールドへ値またはfalseが必ず入るようにする。 |
| JSONValidationInterceptor | jsonValidation | Validatorで検出した入力チェックエラー情報をJSON形式に変換し、HTTPレスポンスを行うところまでを提供する。 |
| Multiselect Interceptor | multiselect | 未チェックの複数選択ボックス(MultiBox)の項目がリクエストパラメータから欠けないようにhiddenパラメータを自動生成し、本来のフィールドへ値またはfalseが必ず入るようにする。 |
| バンドル済プラグイン拡張インターセプタ | ||
| インターセプタ | エイリアス | 概要 |
| ActionAutowiringInterceptor | autowiring | Struts2-Springプラグインとして分離。Springプラグインを導入することでActionクラスをSpring管理下にすることができ、また、このautowiringの宣言は必要ない。 |
| SessionContextAutowiringInterceptor | sessionAutowiring | Struts2-Springプラグインとして分離。Springプラグインを導入することでSpringのSessionContextをActionへ扱うことができる。 |
| デバッグ用インターセプタ | ||
| インターセプタ | エイリアス | 概要 |
| DebuggingInterceptor | debugging | 開発モードをTRUEとし、リクエストパラメータにdebug=[デバッグ出力タイプ]を指定することで利用できるデバッグモードを稼動。 |
| Logger Interceptor | logger | 起動されたActionクラス名がログに出力される。 |
| Timer Interceptor | timer | Actionの処理終了にまでかかった時間をミリ秒でログに出力する。 |
| Profiling Interceptor | profiling | Struts 2の各機能のプロファイリング機能を使うことができる。稼働したインターセプタ、Actionクラス、Resultの実行順序、実行時間を出力する。 |
表中には、Struts 2内で使われるエイリアス名(alias)も記載しています。インターセプタを利用する際には、クラス名でなくこの名前を指定します。また、インターセプタ・スタックと呼ばれる、インターセプタの集合を指定することもできます(以降、インターセプタ・スタックをスタックと表記します)。
