JSF は、JSP をビュー定義言語として使用できます。
JSP が何をするかについての私の理解では、サーブレット インターフェイスを実装する Java クラスを生成します。このサーブレットが呼び出されると、応答オブジェクトに書き込みます (つまり、サーブレット クライアントに送信されます)。
応答オブジェクトに書き込むだけの場合、UIViewRoot はどのように設定されますか?
JSP がすでに応答に書き込みを行っていた場合、レンダリング フェーズはどうすればよいのでしょうか。
魔法をかけるのは<f:xxx>
と<h:xxx>
タグです。<f:view>
タグはを表しますUIViewRoot
。このタグ内のすべては、JSPではなくJSFレンダラーによって処理されます。JSPはタグの本体を実行するだけで、タグはすべてのJSF作業に委任されます。JSPは、応答に対してタグプレーンバニラを出力しません(ブラウザでページを右クリックして[ソースの表示]を実行します。そこには単一のJSFタグはなく、HTML出力のみが含まれている必要があります)。
「カスタム」JSPタグの詳細については、JavaEE5チュートリアルを確認してください。
JSPの後継のFaceletsでは、<f:view>
は必須ではなく、すでに暗黙的に使用されていることに注意してください。