【问题标题】:JSF and PrimeFaces StrategyJSF 和 PrimeFaces 策略
【发布时间】:2011-03-28 17:45:01
【问题描述】:

什么是或可能是最佳做法?

  1. 使用标准 JSF 组件并在需要时通过 PrimeFaces 组件组合它们(例如,当需要 DHTML 或 AJAX 组件时)
  2. 忘记所有 JSF 组件,尽量使用所有 PrimeFaces 组件

请解释一下并告诉我你的经历。

提前致谢...

【问题讨论】:

    标签: jsf jsf-2 primefaces


    【解决方案1】:

    PrimeFaces 是您的 AJAX 框架,因此如果您需要发送 ajaxical 请求,请使用 PrimeFaces 组件。

    即使您不需要发送 ajax 请求,但您仍然可以使用 PF 组件,如果您需要为您的网页提供一致的外观。例如,h:commandButton 和 p:commandButton。如果您需要发送 ajax 请求,请使用 p:commandButton,但您也可以这样做

    <p:commandButton ajax="false" action="Your Action here"/>
    

    这将提供与以下相同的结果:

    <h:commandButton action="Your Action here"/>
    

    但是通过这种方式,您可以在整个页面中为您的按钮提供一致的外观。

    PrimeFaces 没有 h:panelGrid、h:panelGroup、h:inputText、h:outputText 的替代品 ...

    【讨论】:

    • PF 3.0 有 p:outputText, p:inputText :)
    • @selvin:PF3.0 M1 还没有发布。稳定版本的发布需要几个月的时间。您可以尝试夜间构建,但这主要用于测试和玩耍。我不建议将它用于您当前的工作项目。
    【解决方案2】:

    取决于唯一的功能要求。如果您已经在使用 PrimeFaces 并且您想要实现的任何目标都可以使用 PrimeFaces 组件更好/更容易地实现,请使用它。

    选项 1 接近,但选项 2 太过分了。例如,PrimeFaces 没有&lt;p:form&gt;、&lt;p:panelGroup&gt;、&lt;p:outputText&gt; 之类的。

    【讨论】:

      【解决方案3】:

      使用 Primefaces 很容易让您的应用程序具有一致的外观,因为它带有 Themeroller CSS 框架。您可以轻松切换设计。虽然如果应用正确的 css 类,让普通的 jsf 组件看起来像 primefaces 组件并不难。

      我认为 primefaces 是一个很棒的组件库。然而,一些组件仍然有问题(例如日期选择器)。因此,如果您在使用 primefaces 组件时遇到一些意外行为,最好有一个 jsf 后备(或来自另一个组件库或 jquery 的替代方案)。

      我没有混合不同组件库的经验。知道它们如何交互会很有趣。但这将是另一个问题的主题......

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-01-05
        • 1970-01-01
        • 2014-04-27
        • 1970-01-01
        • 1970-01-01
        • 2015-03-28
        • 2014-09-29
        相关资源
        最近更新 更多