JSF或Primefaces组件

JSF或Primefaces组件,jsf,primefaces,Jsf,Primefaces,我在一个使用JSF+Primefaces的项目中工作 我想知道尽可能多地使用JSF组件是否更可取,即使Primefaces中有时有相同的组件(用于基本用途) 仅对JSF版本中不可用的特定内容使用Primefaces 什么时候应该使用Primefaces而不是JSF 抱歉,有任何错误我认为最重要的一点是一致性,它有两种味道 PrimeFaces(PF)组件有很多样式(通过主题选项)。如果在整个应用程序中使用PF组件,您将获得一致的样式。如果混合使用PF和JSF组件,这看起来会很混乱 PF组件有一

我在一个使用JSF+Primefaces的项目中工作 我想知道尽可能多地使用JSF组件是否更可取,即使Primefaces中有时有相同的组件(用于基本用途) 仅对JSF版本中不可用的特定内容使用Primefaces

什么时候应该使用Primefaces而不是JSF


抱歉,有任何错误

我认为最重要的一点是一致性,它有两种味道

  • PrimeFaces(PF)组件有很多样式(通过主题选项)。如果在整个应用程序中使用PF组件,您将获得一致的样式。如果混合使用PF和JSF组件,这看起来会很混乱

  • PF组件有一种特殊的工作方式——组织选项、定义ajax调用等。虽然了解JSF组件的工作原理很重要,但一致地使用PF组件也会使代码保持一致


最后,在许多情况下,PF组件是JSF组件的精确替代品,但通常会添加额外的特性。没有理由不利用它们。

一般来说,我更喜欢它们而不是JSF标准组件,原因很简单:CSS蒙皮。例如,即使
h:inputText
p:inputText
是完全相同的组件,您可能希望所有JSF组件都具有相同的CSS蒙皮(特别是如果您使用PF的高级布局)

但是,我认为很少有例外:

  • 如果您使用JSF2.3。例如,我宁愿使用
    h:commandScript
    而不是
    p:remoteCommand
    。因为它们不是“可视”组件,所以我更喜欢使用标准组件。另请参见对您更有效的方法;-)

  • 此外,Oleg还介绍了一些在datatable中使用PF组件的性能杀手,请参见此处


    • 最好选择其中一个,并主要使用一个堆栈开发所有应用程序。将易于支持,易于更新,易于修复错误。 此刻,好的选择