Seamの画面定義xmlファイルを作成する単位

画面遷移定義におけるJSFとSeamの思想の違いについて - 達人プログラマーを目指してで説明したように、Seamでは画面ごとに画面遷移やパラメーター、アクションなどのメタ情報を定義することができます。これを定義する場所としては

  • グローバルなpages.xmlファイル
  • 画面ごとに対応する(画面ファイル名).page.xmlファイル

のいずれか(併用可)の形式が使えます。私の最初の直感では画面ごとに別々のxmlファイルを定義するのはファイルが多くなりすぎて不便だろうという予想から、画面の情報は前者のファイルに記述し、サイズが大きくなってきたら適当にカテゴリごとに分割(component.xmlの指定で複数ファイルに分割可能)すればよいと考えていました。
ただし、JBoss Toolsの現状の動作からは、pages.xmlを少しでも編集すると全体の再デプロイが走ってしまうという事実があり、実際には以下がベストプラクティスであると考えています。

  • グローバルな画面遷移や例外の遷移先はpages.xmlに記述
  • 画面ごとの固有の設定は個別設定ファイル(画面ファイル名).page.xmlに記述

(画面ファイル名).page.xmlを編集した場合は、それだけでホットスワップされるようなので、頻繁に編集しながら動作確認するにはこの方針にした方が実用的です。