一个或多个资源的目标是“头”但未在视图中定义“头”组件
Posted
技术标签:
【中文标题】一个或多个资源的目标是“头”但未在视图中定义“头”组件【英文标题】:One or more resources has the target of 'head' but not 'head' component has been defined within the view 【发布时间】:2013-09-27 06:01:32 【问题描述】:我在 GlassFish 3.2 上使用 NetBeans 7.3.1 和 PrimeFaces 3.5。
我用 PrimeFaces 组件创建了一个 JSF 页面。该项目运行良好,但完全缺少 PrimeFaces UI 外观。我只注意到服务器日志中的以下消息:
一个或多个资源的目标是“头”,但视图中没有定义“头”组件
这是什么意思?如何修复 PrimeFaces UI 的外观?
【问题讨论】:
【参考方案1】:这意味着您在 Xhtml 模板中使用纯 HTML <head>
而不是 JSF <h:head>
。 JSF <h:head>
允许通过 @ResourceDependency
注释在生成的 HTML <head>
中自动包含 CSS/JS 资源。 PrimeFaces 作为基于 jQuery 的 JSF 组件库需要自动包含一些 jQuery/UI JS/CSS 文件,这确实需要 <h:head>
。
所以,搜索一个
<head>
<title>Some title</title>
...
</head>
在您的模板中并将其替换为
<h:head>
<title>Some title</title>
...
</h:head>
另见:
What's the difference between <h:head> and <head> in Java Facelets? Unable to understand <h:head> behaviour How to programmatically add JS and CSS resources to <h:head>? How to include another XHTML in XHTML using JSF 2.0 Facelets?【讨论】:
好的,现在错误信息消失了,但是 PrimeFaces 和 Crud 仍然分开运行! 如果您需要答案,只需按“”按钮即可询问相关问题。当前问题已得到解答。【参考方案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&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>
【讨论】:
以上是关于一个或多个资源的目标是“头”但未在视图中定义“头”组件的主要内容,如果未能解决你的问题,请参考以下文章
vs2012,如图,下列控件已经添加到工具箱,但未在活动设计器中启用,请问如何解决?