JSPページでJSFタグを使用する場合、JSPライフサイクル・メソッドは実行されますか? もしそうなら、シーケンスは何ですか?
フェイスレットを使用する場合、JSP ライフサイクル メソッドは実行されますか?
JSPページでJSFタグを使用する場合、JSPライフサイクル・メソッドは実行されますか? もしそうなら、シーケンスは何ですか?
フェイスレットを使用する場合、JSP ライフサイクル メソッドは実行されますか?
IBM の DeveloperWorksに、この件に関する非常に明確な記事があります。JSFアプリケーションでJSPを使用するという主題については、次のように述べています。
JSP の本体は、サーブレットの doGet() および doPost() メソッドと同等になります (つまり、jspService() メソッドになります)。JSF カスタム タグ (f:view や h:form など) は、JSF コンポーネントを現在の状態でレンダリングするための単なる呼び出しです。JSF コンポーネント モデルのライフ サイクルは、JSP で作成されたサーブレットのライフ サイクルとは無関係です。
したがって、最初の質問に対する答えはイエスです。JSP ページは独自のライフサイクルに従い、JSF コンポーネントは独自のライフサイクルに従います。Faceletsでは、これも見つけることができます:
JSP とは異なり、Facelets は、JSF コンポーネントのライフサイクルを念頭に置いてゼロから構築されたテンプレート言語です。Facelets では、サーブレットではなく、コンポーネント ツリーを構築するテンプレートを作成します。
これにより、既に Facelets を使用している場合、JSF で JSP を使用する必要はありません。JSP ページがまったくないため、2 番目の質問に対する答えは「いいえ」です。
JSF を Facelets で使用する場合、JSP ライフサイクル メソッド (それらが何であれ) は実行されません。これは、Facelets が JSP から 100% 分離されているという単純な理由によるものです。
ところで、JSP で JSF を使用しないでください。これは非推奨の JSF 用 VDL であり、最新の JSF 機能をサポートしておらず、間違っています。