带有 JSF 项目的组件库

Posted

技术标签:

【中文标题】带有 JSF 项目的组件库【英文标题】:Component library with JSF project 【发布时间】:2011-09-03 06:10:34 【问题描述】:

我期待使用带有 JSF 的组件库(可能是richfaces 或 primefaces)来开发社交应用程序的前端。

我需要知道:

1.) 除了为所有组件选择一个主题之外,独立自定义每个组件的外观的可能性有多大。是否可以将 CSS 与这些组件一起使用。

2.) 我可以在单个项目中使用多个组件库(取决于我需要哪些组件)吗?

3.) 也欢迎任何有关选择组件库的建议!

编辑

4.) 是否有用于使用这些库开发 UI 的可视化编辑器?我目前使用 netbeans 6.9 IDE。

【问题讨论】:

【参考方案1】:
    我知道 RichFaces 可以做到这一点 是的,这是可能的。很可能您必须至少自定义其中一个以获得一致的布局。对于某些图书馆,已经存在这样的主题,例如您会发现一些具有 Richfaces 外观和感觉的 Primefaces 主题。 我们决定使用 RichFaces,它提供了各种有据可查的 成分。看例子 您的图书馆候选人并决定 如果它们可能满足您的需求。

富脸: http://livedemo.exadel.com/richfaces-demo/richfaces/modalPanel.js 素面: http://www.primefaces.org/showcase/ui/home.jsf Apache MyFaces 特立尼达: http://myfaces.apache.org/trinidad/index.html

【讨论】:

注意:liveemo.exadel.com 是 RichFaces 3.3.x 演示。对于 4.x,请看这里richfaces-showcase.appspot.com【参考方案2】:

我使用 primefaces,自定义每个组件非常简单有趣。他们的用户指南中有关于如何自定义每个组件(css)的示例。 Primefaces 严重依赖 jQuery(我通过查看生成的源代码注意到),但也使用其他 javascript 库,如 YUI。有时它可能会在客户端上非常密集地使用 Javascript,但到目前为止,它做得很好。

我不确定多个组件,从未尝试过,根据我自己的建议,我认为 primefaces 很不错。

从 netbeans 7.0 开始,primefaces 包含在 Netbeans 中,因此您不必再担心配置问题。

【讨论】:

【参考方案3】:

我喜欢 Primefaces,因为它们可能拥有最大且功能最丰富的组件。它需要一点点调整,但您也可以将其他组件库与 Primefaces 一起使用。

为很多问题做好准备。有很多错误,但是如果您对 javascript 和 CSS 相当熟悉,并且对 JSF 有超过初学者水平的理解,那么您应该没有问题解决它们。只需准备好实施几个臭名昭著的 hack 来满足一些要求。

尽管存在这些问题,但我注意到它在每个版本中都变得越来越稳定,所以它只会从这里变得更好。

【讨论】:

【参考方案4】:

看到你已经得到了一些答案。我和你有或多或少相同的问题。最后我选择了 Richfaces,因为以下几点

与核心 JSF 2.0 库更好地集成,并且具有或多或少相同的单一文化。 带宽上没有负载,当不使用任何 Richfaces 组件时,如果您使用 Primefaces,就会发生这种情况。因为无论您是否使用组件,jquery 和 CSS 都会始终加载。 文档更全面一些。但 Primefaces 论坛更加活跃,您会得到更好的反馈

带宽是我的重点,所以我选择了 Richfaces。但我也喜欢 Primefaces 库,因为组件的真实性更高。

【讨论】:

@Marcos:RichFaces 在每个组件的基础上加载特定于组件的 CSS/JS,而 PrimeFaces 为库包含的每个组件加载它,即使您只使用 <p:commandButton> 或其他东西。 @Marcos:它有它的优点/缺点。 HTTP 请求的数量与 HTTP 响应的大小。很难说哪个更好,因为一切都只是由浏览器缓存:) @Marcos:试试你最喜欢的两个组件库,自己看看。它们都继承了 Core JSF 组件库的功能。所以它更多的是一个品味问题,你是否可以找到好的代码示例。

以上是关于带有 JSF 项目的组件库的主要内容,如果未能解决你的问题,请参考以下文章

JSF,用ajax定期刷新一个组件?

JBoss RichFaces vs IceFaces vs Apache Trinidad - JSF 组件库比较

是否有可用的 AJAX JSF 库列表?

JSF MethodExpression javax.el.PropertyNotFoundException

JSF 为组件声明定义自定义命名空间

JSF 最佳实践:自定义组件和 JavaScript