2

JSF は、JSP をビュー定義言語として使用できます。

JSP が何をするかについての私の理解では、サーブレット インターフェイスを実装する Java クラスを生成します。このサーブレットが呼び出されると、応答オブジェクトに書き込みます (つまり、サーブレット クライアントに送信されます)。

応答オブジェクトに書き込むだけの場合、UIViewRoot はどのように設定されますか?

JSP がすでに応答に書き込みを行っていた場合、レンダリング フェーズはどうすればよいのでしょうか。

4

1 に答える 1

2

魔法をかけるのは<f:xxx><h:xxx>タグです。<f:view>タグはを表しますUIViewRoot。このタグ内のすべては、JSPではなくJSFレンダラーによって処理されます。JSPはタグの本体を実行するだけで、タグはすべてのJSF作業に委任されます。JSPは、応答に対してタグプレーンバニラを出力しません(ブラウザでページを右クリックして[ソースの表示]を実行します。そこには単一のJSFタグはなく、HTML出力のみが含まれている必要があります)。

「カスタム」JSPタグの詳細については、JavaEE5チュートリアルを確認してください。

JSPの後継のFaceletsでは、<f:view>は必須ではなく、すでに暗黙的に使用されていることに注意してください。

参照:

于 2012-05-22T14:31:01.747 に答える