我在 GlassFish 3.2 上使用 NetBeans 7.3.1 和 PrimeFaces 3.5。
我用 PrimeFaces 组件创建了一个 JSF 页面。该项目运行良好,但完全缺少 PrimeFaces UI 外观。我只注意到服务器日志中的以下消息:
一个或多个资源的目标是“头”但未在视图中定义“头”组件
这是什么意思?如何修复 PrimeFaces UI 的外观?
我在 GlassFish 3.2 上使用 NetBeans 7.3.1 和 PrimeFaces 3.5。
我用 PrimeFaces 组件创建了一个 JSF 页面。该项目运行良好,但完全缺少 PrimeFaces UI 外观。我只注意到服务器日志中的以下消息:
一个或多个资源的目标是“头”但未在视图中定义“头”组件
这是什么意思?如何修复 PrimeFaces UI 的外观?
这意味着您在 XHTML 模板中使用纯 HTML<head>
而不是 JSF <h:head>
。JSF允许通过注释<h:head>
在生成的 HTML 中自动包含 CSS/JS 资源。PrimeFaces 作为一个基于 jQuery 的 JSF 组件库需要自动包含一些 jQuery/UI JS/CSS 文件,这确实需要一个.<head>
@ResourceDependency
<h:head>
所以,搜索一个
<head>
<title>Some title</title>
...
</head>
在您的模板中并将其替换为
<h:head>
<title>Some title</title>
...
</h:head>
感谢您的有用回答,使用 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&v=4.0" />
<script type="text/javascript" src="/PrimefacesExamples/faces/javax.faces.resource/jquery/jquery.js?ln=primefaces&v=4.0"></script>
<script type="text/javascript" src="/PrimefacesExamples/faces/javax.faces.resource/jquery/jquery-plugins.js?ln=primefaces&v=4.0"></script>
<script type="text/javascript" src="/PrimefacesExamples/faces/javax.faces.resource/primefaces.js?ln=primefaces&v=4.0"></script>
<title>TODO supply a title</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
</head>