struts2は、もともとOpensymphonyで開発されていたwebwork2というフレームワークが元になっています。

このフレームワークはシンプルなので私は好きなんですが、struts1に食われてしまい日本では日の目を見ませんでした。
私としてはstruts2として生まれ変わって嬉しい限りです。

実はwebwork2は、xworkというコマンドパターンフレームワークを内包しており、xworkにwebアプリに関するクラス群を乗せているような構成となっています。struts2もそのままで、あまりめだたないのですが内部ではxworkが縁の下の力持ちとしてその役目を果たしてるのです。

xworkの役割は、

  1. struts.xml(struts1でいうstruts.configに当たるもの)
  2. アクションクラス
  3. インターセプター
  4. バリデーター
  5. TypeConversion
  6. springとの統合

まだありますが、実は担当部分が以外とおおかったりします。

struts2でいうアクションクラスがPOJOでよいのもxworkのおかげ(処理はインターセプターですが)です。

なので、struts2をつかっていて

com.opensymphony.xwork2 

というパッケージが良く出るのもこのためです。

struts2を理解する場合xworkを理解することが重要だといえます。



本日はここまで