JSF、RichFaces、PrimeFaces 和 IceFaces 之间的区别

Posted

技术标签:

【中文标题】JSF、RichFaces、PrimeFaces 和 IceFaces 之间的区别【英文标题】:difference between JSF, RichFaces, PrimeFaces and IceFaces 【发布时间】:2012-11-07 03:30:36 【问题描述】:

我是 jsf 的新手,想了解 JSF、Rich-/Prime-/IceFaces 之间的明显区别。

在 JSF 中,我们创建扩展名为 .jsp 的页面,并在支持 bean 中编写 java 代码。

但究竟所有“面孔”与 jsf 有何不同和相关。

【问题讨论】:

关于 jsf 扩展的更正。 .jsp 主要与早期版本的 jsf 1.x 一起使用,因为 jsf2.x 我们更常使用 .xhtml (Facelets) 作为扩展名。 只是 JSF UI 组件库。只需查看他们自己的主页即可查看演示页面。 另一方面,也许您的问题只是表述不当,而您实际上是在尝试与this user 相同的问题。 mastertheboss.com/jboss-web/richfaces/… 【参考方案1】:

嗯,不是真的。 JSF 是 Oracle/Sun 创建的 JSP 的继承者。所有其他 *faces 框架最初都基于 JSF,但它们具有更多功能(通常更多组件在 JSF 中不存在,更好的 Ajax 支持等等)。但它仍然是旧的JSF,上面有一些镀金:)。

另外请注意 - 任何类型的 JSF 项目都可以拥有比 .jsp 更多的扩展名,例如 .xhtml、.jsf 等。

【讨论】:

正确的先生。但是人们问我这样的问题“你在 jsf 中使用富面孔吗?”它使丰富的面孔和 jsf 成为两个独立的东西......并且像 Rich/prime/ice 面孔一样与 jsf 一起使用?是这样吗? 所有这些框架都得和JSF一起使用(因为每个框架的核心都是一样的,只是增加了更多的组件) Petr 的意思是,如果没有 jsf 框架,您将无法使用 prime、ice 或 rich。但你不必使用 prime 和 ice 和 rich。 是的,没错,只有 JSF 是必需的,所有其他框架都只是附加组件。【参考方案2】:

Prime、Rich 和 ice faces 是您可以在 jsf 页面中使用的一组组件。 如果你在谷歌上搜索“primefaces 展示”,你会看到所有可用的primefaces 组件的展示。除了使用简单的标准 jsf 组件,您还可以使用 prime、rich 或 ice 或其他库中的组件。 组件可以是示例:具有排序功能的表格或日历输入。

使用这些库可以更轻松地开发丰富的应用程序。

【讨论】:

好的,那我就这么说吧。 JSF 是一个框架,丰富/素数/冰面是可以在该框架中使用的组件。这个说法正确吗? 是的,你可以这么说。尽管您不需要 Rich 或 prime 之类的组件库。您可以在其主页上使用 JSF 框架。 JSF 内置了“简单”组件。但是这些库让生活变得更轻松(有时;)并且您的应用程序更丰富。 非常感谢所有专家。【参考方案3】:

我想如果你说得很简单的话。参考:Source

JSF 是一个请求驱动的 MVC Web 框架,用于使用组件构建用户界面。

PrimeFaces/RichFaces/IceFaces 是可以在 JSF 之上使用的组件/JSF 库

    RichFaces:是一个支持 Ajax 的开源 JavaServer Faces 组件库

    ICEfaces,开源,Java JSF 扩展框架和丰富的组件,无 javascript 的 Ajax

    PrimeFaces 带有 JSF 组件的 Ajax 框架

【讨论】:

“没有 Javascript 的 Ajax”在术语上是矛盾的。您给出了三种不同的描述,但除了错误之外,它们都说了同样的话。 @EJP 哦是的..你是对的。来源被提及。它是一个维基页面。请随时更新页面和我的答案。谢谢(y) 还有 Openfaces?哪个是标准的 JEE 解决方案?【参考方案4】:

我将仅对 JSF 和其他 Faces 库进行一般比较。

JSF:基于 Oracle 组件架构的标准框架。它具有模型-视图-控制器架构。模型(即:Backing Bean)、控制器(即:JSF Servlet)和视图(即:JSP、XHTML)。因此它可以与 JSP 或 XHTML 一起使用。

RichFaces/PrimeFaces/ICEfaces:这些都是JSF的外部组件库,提供更多的自定义组件和附加功能。因此,最好将这些组件库中的任何一个与 JSF 应用程序一起使用,以使生活更轻松。例如,JSF 有一个<h:dataTable></h:dataTable> 组件,用于以 HTML 表格格式显示数据。另一方面,Prime Faces Data Table<p:dataTable></P:dataTable> 提供了比 JSF 数据表更多的功能和灵活性。

所以如果有人想要自定义JSF组件并创建附加功能或附加组件,他们可以通过扩展JSF标准组件库来制作自己的组件库,或者使用现有的现有组件库RichFaces/PrimeFaces/ ICEfaces

【讨论】:

以上是关于JSF、RichFaces、PrimeFaces 和 IceFaces 之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

Primefaces,icefaces,myfaces跟JSF哪个功能强大,各自的优缺点

jsf+primefaces开发配置

JSF 注释不适用于 Spring-boot

带有 JSF 项目的组件库

Icesfaces vs Myfaces vs Primefaces

是否可以在一个 Web 应用程序中结合 Primefaces 和 Richfaces?