10

GlassFish 3.2 で NetBeans 7.3.1 と PrimeFaces 3.5 を使用しています。

PrimeFaces コンポーネントを含む JSF ページを作成しました。プロジェクトは正常に実行されますが、PrimeFaces UI のルック アンド フィールが完全に失われています。サーバーログに以下のメッセージが表示されるだけです。

1 つ以上のリソースに 'head' のターゲットがありますが、'head' コンポーネントはビュー内で定義されていません

これはどういう意味ですか? また、PrimeFaces UI のルックアンドフィールを修正するにはどうすればよいですか?

4

2 に答える 2

31

これは、XHTML テンプレート<head>で JSF の代わりにプレーン HTML を使用していることを意味します。<h:head>JSFでは、注釈を介し<h:head>て、生成された HTML に CSS/JS リソースを自動的に含めることができます。jQuery ベースの JSF コンポーネント ライブラリである PrimeFaces は、いくつかの jQuery/UI JS/CSS ファイルを自動インクルードする必要があり、これには.<head>@ResourceDependency<h:head>

だから、検索

<head>
    <title>Some title</title>
    ...
</head>

テンプレートで、それを次のように置き換えます

<h:head>
    <title>Some title</title>
    ...
</h:head>

以下も参照してください。

于 2013-09-22T19:52:33.587 に答える
2

H:HEAD を使用すると、JS/CSS/Jquery スクリプトが追加されます。生成された HTML ページは次のとおりです。

1-<head>タグの使用

<head>
    <title>TODO supply a title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
</head>

2-<h:head>タグの使用

<head><link type="text/css" rel="stylesheet" href="/PrimefacesExamples  /face/javax.faces.resource/theme.css?ln=primefaces-aristo" />
  <link type="text/css" rel="stylesheet" href="/PrimefacesExamples/faces/javax.faces.resource/primefaces.css?ln=primefaces&amp;v=4.0" />
  <script type="text/javascript" src="/PrimefacesExamples/faces/javax.faces.resource/jquery/jquery.js?ln=primefaces&amp;v=4.0"></script>
  <script type="text/javascript" src="/PrimefacesExamples/faces/javax.faces.resource/jquery/jquery-plugins.js?ln=primefaces&amp;v=4.0"></script>
  <script type="text/javascript" src="/PrimefacesExamples/faces/javax.faces.resource/primefaces.js?ln=primefaces&amp;v=4.0"></script>
<title>TODO supply a title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
</head>
于 2014-04-04T11:47:16.680 に答える