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設定ファイルの主要な要素

  1. form-beans要素
  2. global-exceptions要素
  3. global-forwards要素
  4. action-mappings要素
  5. controller要素
  6. message-resources要素
  7. 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つ指定する必要がある

 

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です