リクエストパラメータからbeanへの変換

Struts1.2.9ではリクエストパラメータからbeanへの変換する際に、

  • RequestProcessor#processPopulate
  • RequestUtil#populate
  • BeanUtils#populate

という処理フローをたどっている。

一方SAStruts1.0.2-rc2では、

  • S2RequestProcessor#processPopulate

で上記のことをすべてやっている感じ。

BeanUtilsを使っていないのは、

実は、問題はそれだけではなく、BeanUtilsは、publicフィールドをプロパティとして認識しないという問題もあります。メモリリークだけなら、どこかでクリアすれば良いだけなのですが、publicフィールドの場合は、どうしようもありません。

結局、BeanUtilsにJavaBeansのプロパティをアクセスされたら負けなのです。

http://d.hatena.ne.jp/higayasuo/20071203/1196655366

のためなんだろう。

StrutsSAStrutsを見比べてみるのも面白いな。