答案 0 :(得分:22)
<h:head>
是一个JSF组件,它提供了一个钩子,以编程方式在生成的HTML <head>
中包含JavaScript和CSS资源。 PrimeFaces使用它来包含Ajax工作所需的JS / CSS代码和花哨的look'n'feel。
作为测试,创建一个包含<h:head>
和PrimeFaces
组件的网页,打开网页浏览器中的页面并通过右键单击检查生成的HTML源代码 - 查看源 。您将看到添加了几个JSF和PrimeFaces特定的JS / CSS文件。现在将<h:head>
替换为<head>
并再次检查生成的HTML源代码,此时您将看不到任何内容。
答案 1 :(得分:13)
<head>
标记是HTML tag,它定义HTML页面的头部(这是您定义元数据的位置,或者包含JavaScript或CSS等资源)。<h:head>
是 JSF 标记(随JSF 2.0引入),用于处理页面的<head>
部分。拥有这样的JSF标记的兴趣在于,这个头部成为JSF组件树的一部分,因此,您可以在Java代码中对其进行操作。关于<head>
与Primefaces的不兼容性,我不明白为什么会发生这种情况。在JSF 1.x中引入的Facelets能够混合HTML代码和JSF(XHTML)代码,即使您使用Primefaces,也不应该在页面中插入HTML <head>
标记。 Facelets与JSF 2.x本地集成。