【问题标题】:Is ajax4jsf dead? What other AJAX libraries for JSF are there?ajax4jsf 死了吗?还有哪些其他适用于 JSF 的 AJAX 库?
【发布时间】:2010-11-03 23:18:16
【问题描述】:

我目前正在为我正在进行的项目使用JBoss RichFaces JSF 组件库。它通常工作得很好,尤其是 ajax4jsf (A4J) 提供的 AJAX 支持,但我发现几乎每个组件都使用了通常非常不灵活的表格标记,而且 RichFaces 的所有这些“皮肤”东西都很烦人。如果有一些组件只提供功能并且只提供最少的标记/样式,那就太好了。本来我是打算用 ICEfaces 的,但是效果也不太好,而且还自带了很多预定义的样式,所以现在看来​​ RichFaces 是最好的选择。

现在我认为开发一个干净的标签库会很好,它提供了一些在 RichFaces、ICEfaces 或 Tomahawk 中找到的有用组件(当然不是全部!),它们不使用任何预定义的样式并生成可以被使用 CSS 轻松设置样式。

我想使用 ajax4jsf 库来支持 AJAX,因为我认为它工作得很好,并且可以无缝地集成到带有 facelets 的标准 JSF 中。但似乎由于它已经转移到 JBoss,它不再作为独立库提供。你只能下载整个 RichFaces 包,我不想要。

ajax4jsf (A4J) 项目死了吗?如果是,有什么替代方案?

【问题讨论】:

    标签: ajax jsf richfaces taglib ajax4jsf


    【解决方案1】:

    您可以在这里找到许多替代方案:

    JSF AJAX Component Library Feature Matrix

    【讨论】:

      【解决方案2】:

      如果您阅读ajax4jsf forum,您会发现它已与 Richfaces 合并。

      您不必在页面上使用 Richfaces 组件,那么您对在项目中使用 JAR 有疑问吗?

      我同意许多 JSF 组件(不仅仅是 Richfaces)都基于表(例如 h:selectManyCheckbox)。不要忘记为其中许多编写新的渲染器很容易。我已经为h:selectManyCheckbox 完成了此操作,以便复选框在 div 而不是表格中呈现。我认为您应该能够为 Richfaces 组件做同样的事情……但如果是这样,那为什么要使用它们呢?

      您可能会发现使用 jQuery UI 元素更容易/更好,并使用 a4j:jsFunction(或类似的)将它们绑定回您的 Bean。

      【讨论】:

      • 我知道他们以某种方式合并了它,但感谢官方声明的链接。看起来,我不能在另一个库项目中使用 A4J,因为我总是需要随身携带一些 RichFaces 的东西。正如您所建议的,将 jQuery 与 a4j 结合似乎提供了最大的灵活性,这就是拥有独立 A4J 库的原因。
      • 就页面重量而言,它不携带任何东西 - 只是您的 WAR/EAR 中的罐子。此外,如果您想轻松连接其他基于 javascript 的 UI 框架,请查看 Seam 2.1.2 中的 REST 支持。很棒的东西。
      【解决方案3】:

      只是一个评论。我开始使用icefaces。我也是一名网页设计师,我非常注重与我的 Web 应用程序相关的 icefaces 组件的外观和感觉。当我使用 css 覆盖 icefaces 组件的外观和感觉时,我感到非常沮丧。这些组件有很多让我恼火的嵌套表格标记。

      当我搬到 Richfaces 时。我发现覆盖外观要容易得多,因为richfaces 有一个集成系统,可以覆盖css 中的外观。赋予组件的 css 具有相似且合理的类名,这使得预测和覆盖更容易。

      【讨论】:

        【解决方案4】:

        如果您喜欢冒险,请查看JSF 2。它的特点是将视图技术从 JSP 转移到 Facelets 并内置在 AJAX support 中。 David Geary 一直在 developerWorks 上发表一系列JSF 2 fu 文章(尽管您将不得不等待第 3 部分的 AJAX 内容)。 Ed BurnsJim Driscoll 在新 API 的开发过程中一直在演示各种功能,因此您可能还想查看他们的博客。

        【讨论】:

        • 我急切地等待 JSF 2 为生产做好准备,它将解决我们目前必须解决的许多问题...
        猜你喜欢
        • 2010-11-17
        • 2011-06-02
        • 1970-01-01
        • 2011-03-21
        • 2011-10-23
        • 2011-05-14
        • 1970-01-01
        • 2015-03-21
        • 1970-01-01
        相关资源
        最近更新 更多