10

看到这个

何时以及为什么使用<h:head>,而不是<head>

不过,我已经看到 Primefaces 无法与<head>.

4

2 回答 2

23

<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 源代码,这次你什么也看不到。

于 2011-05-18T11:35:16.097 回答
14
  • <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 原生集成。

于 2011-05-18T10:19:43.630 回答