User interface 一个或多个资源的目标为';头部';但不是';头部';组件已在视图中定义

User interface 一个或多个资源的目标为';头部';但不是';头部';组件已在视图中定义,user-interface,jsf,primefaces,head,User Interface,Jsf,Primefaces,Head,我在GlassFish 3.2上使用NetBeans 7.3.1和PrimeFaces 3.5 我用PrimeFaces组件创建了一个JSF页面。该项目运行良好,但PrimeFacesUI的外观完全缺失。我只注意到服务器日志中的以下消息: 一个或多个资源的目标为“head”,但视图中未定义“head”组件 这意味着什么?如何修复PrimeFaces UI的外观?这意味着您在XHTML模板中使用的是纯HTML而不是JSF。JSF允许通过@ResourceDependency注释在生成的HTML中自

我在GlassFish 3.2上使用NetBeans 7.3.1和PrimeFaces 3.5

我用PrimeFaces组件创建了一个JSF页面。该项目运行良好,但PrimeFacesUI的外观完全缺失。我只注意到服务器日志中的以下消息:

一个或多个资源的目标为“head”,但视图中未定义“head”组件


这意味着什么?如何修复PrimeFaces UI的外观?

这意味着您在XHTML模板中使用的是纯HTML
而不是JSF
。JSF
允许通过
@ResourceDependency
注释在生成的HTML
中自动包含CSS/JS资源。PrimeFaces作为一个基于jQuery的JSF组件库,需要自动包含一些jQuery/UIJS/CSS文件,这确实需要一个

所以,寻找一个

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

一些头衔
...
在模板中,并将其替换为

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

一些头衔
...
另见:

    • 感谢您的有用回答,使用H:HEAD时会添加JS/CSS/Jquery脚本,下面是生成的HTML页面:

      1-使用
      标记

      <head>
          <title>TODO supply a title</title>
          <meta name="viewport" content="width=device-width, initial-scale=1.0" />
      </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>
      
      
      提供头衔
      
      2-使用
      标签

      <head>
          <title>TODO supply a title</title>
          <meta name="viewport" content="width=device-width, initial-scale=1.0" />
      </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>
      
      
      提供头衔
      
      OK,现在错误消息消失了,但PrimeFaces和Crud仍然分别运行!如果你需要答案,只需按“提问”按钮就可以提问。目前的问题已经得到了回答。