これを参照してください。
<h:head>
?の代わりに、いつ、なぜ使用するの<head>
か?
ただし、 Primefacesは動作しないことを確認しまし<head>
た。
は<h:head>
、生成されたHTMLにJavaScriptおよびCSSリソースをプログラムで含めるためのフックを提供するJSFコンポーネント<head>
です。PrimeFacesはこれを使用して、Ajaxの動作と派手なルックアンドフィールに必要なJS/CSSコードを含めます。
テストとして、<h:head>
とPrimeFaces
コンポーネントを使用してページを作成し、Webブラウザーでページを開き、右クリックして生成されたHTMLソースを確認します- [ソースの表示]。いくつかのJSFおよびPrimeFaces固有のJS/CSSファイルが追加されていることがわかります。ここで、生成されたHTMLソースを置き換え<h:head>
て<head>
もう一度確認します。今回は、何も表示されません。
<head>
タグはHTMLタグであり、HTMLページのヘッドを定義します(ここでメタデータを定義したり、JavaScriptやCSSなどのリソースを含めたりします)。<h:head>
は、ページの一部を処理するJSFタグ(JSF 2.0で導入)です。<head>
このようなJSFタグを持つことの利点は、このヘッドがJSFコンポーネントツリーの一部になることです。したがって、Javaコードでこのヘッドを操作できます。Primefacesとの非互換性については、<head>
なぜ発生するのかわかりません。JSF 1.xで導入されたFaceletsは、HTMLコードとJSF(XHTML)コードを混在させる機能であり、<head>
Primefacesを使用している場合でも、ページにHTMLタグを挿入するのに問題はありません。FaceletsはJSF2.xとネイティブに統合されています。