S2ViewHandler
S2JSFの動きをコントロールしているのは、S2ViewHandlerで、JSFのViewHanlderを拡張して実装されています。こいつで重要なのは、次の3つのメソッドです。
- restoreView
- createView
- コンポーネントツリーを作成します。S2JSFでは、最初にあるページにリクエストがあったときに、HTMLをViewTemplate(S2JSF独自)にコンパイルしてキャッシュします。ViewTemplate.createView()がコンポーネントツリーを作成しています。あるページに2つめ以降のセッションからリクエストがあった場合は、キャッシュされたViewTemplateのcreateView()が呼び出されます。同一セッションに対して、あるページに複数リクエストがあった場合は、2回目以降は、createView()は呼び出されません。restoreView()がコンポーネントツリーを返しているためです。
- renderView
- コンポーネントツリーからView(HTML)を描画します。