【问题标题】:Why do we need <h:body> in JSF为什么我们在 JSF 中需要 <h:body>
【发布时间】:2015-03-11 07:17:03
【问题描述】:

&lt;h:body&gt;有什么特殊用途吗? &lt;body&gt;JSF应用还不够用?

【问题讨论】:

    标签: html jsf-2


    【解决方案1】:

    来自the documentation

    此标签呈现一个 HTML 正文元素。它还为 JSF 资源重定位提供了一个目标。这使 JSF 开发人员能够通过告诉 JSF 框架在请求时在哪里呈现这些资源,以更灵活的方式实现依赖于图像、脚本和级联样式表等资源的组件。通常的目标是“head”或“body”标签。在实现 JSF2 复合组件时,可重定位资源特别有用。

    还有this

    渲染起始元素标签。在渲染结束元素标记之前,渲染已针对此“body”元素的所有资源:

    • 获取 UIViewRoot 实例。
    • 通过调用 UIViewRoot.getComponentResources() 以字符串“body”作为参数,获取针对此“body”元素的组件资源列表。渲染结束元素标签。
    • 遍历返回的 UIComponent 实例列表并在每个 UIComponent 实例上调用 encodeAll。

    所以,我想关键在于提供 JSF 框架使用的资源。

    第一句话说通常的目标是“head”或“body”标签。例如,如果在&lt;h:body&gt; 标记中有&lt;h:outputScript name="hello.js"/&gt;,这将在&lt;body&gt; 标记中呈现脚本,但如果您在target 属性中指定,则可以将其更改为&lt;head&gt;。这是资源重定位,可以在here 找到更详细的解释。

    【讨论】:

    • 这个“对资源的依赖,如图像、脚本和级联样式表”在&lt;h:head&gt; 标签中完成。不是吗?如果我错了,请给我一个例子并更新您的答案。谢谢
    • 我已经更新了我的答案,希望这会让它更清楚。
    猜你喜欢
    • 2019-06-09
    • 1970-01-01
    • 2014-06-18
    • 2017-02-26
    • 2011-04-03
    • 2017-07-27
    • 2020-09-21
    • 2020-03-09
    • 2018-12-24
    相关资源
    最近更新 更多