【问题标题】:When should I use JSF components and when should I use html tags? [closed]什么时候应该使用 JSF 组件,什么时候应该使用 html 标签? [关闭]
【发布时间】:2011-07-19 13:11:35
【问题描述】:

我想用 JSF 设计一个网页。

我可以使用<h:panelGroup><h:panelGrid> 来布局页面的某些部分,或者,我可以使用<p><div> 等代替。

只是想知道哪个更适合最佳实践。

谢谢!

【问题讨论】:

    标签: html jsf


    【解决方案1】:

    我最近的实践案例:

    1. 对于<p><div>,您不能使用rendered 属性

    2. 使您的代码更加结构化和稳固 - 便于您的代码的其他用户阅读

    【讨论】:

      【解决方案2】:

      建议不要将 jsf 与 html 混为一谈。背景:那么您的 jsf 页面可以呈现为与 html 不同的内容。但据我所知,到目前为止,只有 html 的渲染器(尽管您可以编写自己的)。

      在实践中,我发现很难遵循这个建议,最终混合了 html 和 jsf,例如对于标题或换行符,我使用 html。

      【讨论】:

        【解决方案3】:

        如果您不需要 JSF 标签提供的功能,我更喜欢使用纯 HTML。

        例如,<h:panelGroup> 有一个 rendered 属性,允许您绑定到支持 bean 布尔变量以有条件地显示输出,但使用 <div><span>,您不能这样做。

        <h:panelGroup> 默认会生成一个<span>。如果您更喜欢<div>,那么您可以使用<h:panelGroup layout="block">。它将为您生成一个<div>

        【讨论】:

        • 第一句话总结了一切。它的开销也更少。
        • 我发现没有layoutstylestyleClass 属性的<h:panelGroup/> 标签既不会呈现<div/>,也不会呈现<span/>。它可以纯粹用作使用rendered 属性显示/隐藏页面部分的一种方式。
        【解决方案4】:

        作为一般规则,我在布局页面中混合使用 betweek HTML 和 Facelets 标签。但是对于实际的内容页面,我尝试仅使用我选择的 JSF 库(JSF + RichFaces)中可用的 JSF 标记。

        这样我可以更好地控制要显示和隐藏的元素,以及每个元素中的内容,但我仍然可以在 facelets 模板文件中硬编码我的主页布局。

        【讨论】:

          猜你喜欢
          • 2017-09-11
          • 1970-01-01
          • 2012-12-23
          • 2021-07-13
          • 2010-09-09
          • 2023-04-02
          • 2011-04-15
          • 2017-04-10
          • 2012-03-19
          相关资源
          最近更新 更多