看到这个。
何时以及为什么使用<h:head>
,而不是<head>
?
不过,我已经看到 Primefaces 无法与<head>
.
这<h:head>
是一个 JSF 组件,它提供了一个钩子以编程方式在生成的 HTML 中包含 JavaScript 和 CSS 资源<head>
。PrimeFaces 使用它来包含 Ajax 作品和精美外观所需的 JS/CSS 代码。
作为测试,创建一个包含 a<h:head>
和一个PrimeFaces
组件的页面,在 webbrowser 中打开该页面并通过右键单击查看生成的 HTML 源代码 -查看源代码。您会看到添加了几个 JSF 和 PrimeFaces 特定的 JS/CSS 文件。现在替换<h:head>
为<head>
并再次检查生成的 HTML 源代码,这次你什么也看不到。
<head>
标签是一个HTML标签,它定义了 HTML 页面的头部(这是您定义元数据的地方,或者包括诸如 JavaScript 或 CSS 之类的资源)。<h:head>
是一个处理页面部分的JSF标记(由 JSF 2.0 引入) 。<head>
拥有这样的 JSF 标记的好处在于,这个头成为 JSF 组件树的一部分,因此,您可以在 Java 代码中对其进行操作。关于<head>
与 Primefaces 的不兼容,我不明白为什么会发生这种情况。JSF 1.x 中引入的 Facelets 能够混合 HTML 代码和 JSF (XHTML) 代码,<head>
即使您使用 Primefaces,在页面中插入 HTML 标记也不会有任何麻烦。Facelets 与 JSF 2.x 原生集成。