フレームワークとしての動きを考える
気がついてる人もいるかもしれないけど、
昨日のELResolverネタを拡張すればJSP駆動のフレームワークになるわけだが、そもそも、これにいろいろとフェーズやカスタムタグやコンポーネントツリーなどの小難しいものをを組み合わせたものがJSFということになる。
んで、以前やったフィルターベースのものを組み合わせるとなかなかおもしろいことになりそう。
ある意味JSFを単純化してアクション化させたものといえるかもしれない…はさすがに無理があるか。
それとも、JSPベースをさらに推し進めてそれともフィルタによるアクション実行もなくしちゃったほうがいいかもしれない。つまり、ページのキャラクタセットの宣言等の直下にアクションを呼ぶコードがあればいいだけで。
ELをそのまま使う方法だとこうなるか。
${action.hoge.action} <html> 〜
この場合以下のようなクラスが必要かな。
@RequestScope public class Hoge { @DefaultAction public void action(){ } }
一応ELResolverで処理すれば上のクラスでもなんとか動きはコントロールできる。が、当たり前だけど、フォワード先のJSPにアクションがある場合それが実行されてしまう。これはいい場合とだめな場合があると思うのでやっぱりフィルタで実装するほうがよいのかな。と、振り出しに戻る。
とりあえずこのJSP駆動ならばBeanがどのようなスコープを持つのかというアノテーションや設定ファイルだけあれば完成する。スコープ管理が出来るDIコンテナがあるのならそれを使うのが一番楽かな。