2011-03-28 73 views
4

什么是或可能是最佳实践?JSF和PrimeFaces策略

  1. 使用标准JSF组件并在需要时通过PrimeFaces组件将它们组合起来(例如需要DHTML或AJAX组件时)
  2. 忘记所有JSF组件,并尝试使用所有PrimeFaces组件尽可能

请解释它,并告诉我你的经验。

在此先感谢...

回答

9

PrimeFaces是你的AJAX框架,所以如果你需要发送一个Ajax请求,那么使用PrimeFaces组件。

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

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

这将提供相同的结果:

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

但这样一来,就可以提供一致的外观相同整个页面上的按钮。

PrimeFaces没有替代h:panelGridh:panelGrouph:inputTexth:outputText ...

+0

PF 3.0有p:outputText,p:inputText :) – Selvin 2011-03-30 06:03:22

+1

@selvin:PF3.0 M1甚至还没有发布。稳定版本需要几个月才能出来。你可以尝试每晚构建,但主要是测试和玩耍。我不建议将它用于当前的工作项目。 – 2011-03-30 15:32:55

6

依赖于唯一的功能需求。如果您已经使用PrimeFaces,并且您希望实现的任何功能都可以使用PrimeFaces组件更好/更轻松地实现,那就使用它。

选项1接近,但选项2过度。 PrimeFaces例如没有<p:form>,<p:panelGroup><p:outputText>什么的。

3

随着Primefaces这是很容易得到一个一致的外观为您的应用程序,因为它带有的ThemeRoller CSS框架。你可以轻松切换设计。尽管如果您应用正确的css类,让普通的jsf组件看起来像primefaces组件并不困难。

我认为primefaces是一个很好的组件库。然而,一些组件仍然是越野车(例如日期选择器)。因此,如果您在primefaces组件中遇到一些意想不到的行为,那么拥有jsf后备(或者来自另一个组件库或jquery的替代品)总是很好。

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