Struts設定ファイル (Struts)
Struts設定ファイル
- Strutsを利用したアプリケーションの動作は、Struts設定ファイルに記述してある内容によって決定される。
- ActionSevletからRequestProcessorが起動されるときに読み込まれ、その設定内容に応じてモジュールの準備整えられる。
- Struts設定ファイルをどこに配置するかは、ActionServletの設定をweb.xmlにおこなうときに指定する。
- シングルモジュールのStrutsアプリケーションの場合は、/WEB-INF/デレクトリに配置し、名前をstruts-config.xmlとすることが一般的である。
- Struts設定ファイルに設定できる情報
- URLと起動するActionの関連情報
- Action実行時に使用されるリソースの情報
- ActionFormの情報
- メッセージリソースの情報
- Struts設定ファイルのルート要素は、struts-config要素である。
Struts設定ファイルの主要な要素
- form-beans要素
- global-exceptions要素
- global-forwards要素
- action-mappings要素
- controller要素
- message-resources要素
- plug-in要素
1. form-beans要素
- アプリケーションで使用するActionFormに関する情報を記述、strutsアプリケーションで使用するActionFormクラス名とインスタンス名を関連つける重要な要素である。
- form-bean要素の属性
属性名 | 必須 | 説明 |
name | ○ | ActionFormのインスタンスを識別するための名前を指定 |
type | ○ | ActionFormのクラス名を完全修飾名で指定 |
- form-beans要素は、form-property要素を子要素として持つ場合がある。
(DynaActionFormかそのサブクラスを使用した場合に必要になる。) - form-property要素の属性
属性名 | 必須 | 説明 |
intial | この要素で指定するプロパティの初期値を指定 | |
name | ○ | この要素で指定するプロパティの名称を指定 |
size | このプロパティが配列の場合、この属性の値の長さで 配列を初期化する | |
type | ○ | ActionFormのクラス名を完全修飾名で指定 |
2. global-exceptions要素
- Actionにより例外がスローされたときの振る舞いについて設定をする。
- global-exceptions要素は、exception要素を子要素として持ち、詳細な設定は、exception要素で行う
- exception要素の属性
属性名 | 必須 | 説明 |
path | 例外発生時のフォワード先リソースを、アプリケーションルートから相対パスで指定 | |
key | ○ | 例外発生時にエラーメッセージを検索するキーの値を指定 対応する値がメッセージリソースに存在する必要がある。 |
type | ○ | ハンドリングする例外クラスの完全修飾名で指定 |
handler | 例外ハンドラクラスの完全修飾名で指定 |
3. global-forwards要素
- グローバルフォワードに関する情報を設定する。
- すべてのAcrionから使用されるActionFowwardをこの要素で設定
- forward要素を子要素として持つ
属性名 | 必須 | 説明 |
module | フォワードするモジュール名を指定 モジュール名はスラッシュ(/)から始まる |
|
name | ○ | ActionForwardを識別するための名前 |
path | ○ | フォワードするJSPなどのリソースをアプリケーションルートからの相対パスで指定 |
redirect | リダイレクトからフォワードを設定する true — リダイレクト false —- フォワード(デフォルト) |
4. action-mappings要素
- この要素で設定された内容に基づき、AcionMappingが生成される。
- Action-mapping要素には特に重要な属性はなく、主な設定は子要素であるAction要素で指定する。
- action要素の属性
属性名 | 必須 | 説明 |
path | ○ | Actionを起動するURLを指定 先頭は / (スラッシュ)で始まる |
type | ※ | RequestProcessorより呼び出されるActionの完全修飾名で指定 |
forward | ※ | Action以外のリソースをアプリケーションルートから相対パスで指定 Actionを経由失せずに、他のリソースへフォワードする時に使用 |
include | ※ | Action以外のリソースをアプリケーションルートから相対パスで指定 Actionを経由せずに、他のリソースをインクルードする時に使用 |
parameter | Actionに追加情報を渡す時に指定 | |
roles | このActionへのアクセスを許可されたセキュリティロール名のカンマ区切りのリストを指定 | |
name | 使用するAcionFormのインスタンス名を指定 対応するform-bean要素のname属性の値と一致させる |
|
attribute | name属性で指定したActionFormをスコープに登録する際の名前を指定 デフォルトはname属性 |
|
scope | name属性で指定したActionFormをスコープに登録するのかをrequest、 sessionのいづかを指定 | |
validate | name属性で指定したActionFormをスコープに登録する際の名前を指定 デフォルトはname属性指定したActionFormにおいて、validate()メソッドによる検証を行うかどうかを指定 true を指定した場合、validate()メソッドが呼び出される デフォルトはfalse |
|
input | validate属性がtrueの場合にvalidate()メソッドが返すActionErrorsのサイズが0でないとき(検証が失敗したとき)に表示されるページを指定 | |
unknown | このActionをデフォルトのActionとする際にtrueを指定 いずれかのActionにも関連付けられていないリクエストがあった場合に、このunknown属性にtrueを指定できるActionは1つだけである |
※ いずれかを1つ指定する必要がある