Strutsでのページとデータコントロールの紐付けはどこに?

ADFでStrutsベースでJSPアプリを作って、データコントロールをドラッグ&ドロップすると、簡単にデータとか、メソッド起動を貼り付けられます。
この紐付けはどこに記述されているか?

  • JSPページには一対一で xxxUIModel.xml というファイルが作成される
    このページとXMLの紐付けは、struts-config.xml の対応するアクションのmodelReferenceプロパティで紐付けされている
  • xxxUIModel.xml には、ルートとなるイテレータ定義がある
    ここにどのデータコントロールを参照しているかが書かれている

このように、データコントロールJSPとは直接はつながっていない。このため、データコントロールを途中で別のものに切り替える、ビューをJSPではないものにする、といった変更でも、お互いに影響を及ぼさないのです。

なお、ひとつのアプリケーションで利用するデータコントロールと xxxUIModel は、すべて DataBindings.cpx にも記述されています。したがって、

  • あるページのデータ・バインディングが全部不要になったら、
    1. ページ上からバインディングの参照を削除
    2. xxxUIModel.xmlを削除
    3. DataBindings.cpxからxxxUIModel.xmlのエントリを削除
  • あるデータコントロールがアプリケーションのどのページからも利用されなくなったら、DataBindings.cpxからそれを削除

という作業をするとよいです。