【问题标题】:Is there any difference between f:ajax and a4j:ajax?f:ajax 和 a4j:ajax 之间有什么区别吗?
【发布时间】:2011-11-27 06:27:29
【问题描述】:

f:ajaxa4j:ajax 标签之间有什么显着区别吗?

我知道来自 Richfaces 4 的 a4j:ajax 是基于原生 f:ajax JSF2 标记添加一些在 f:ajax 中找不到的属性,例如 onbeginonbeforedoupdatebypassUpdateslimitRenderstatusfocus 但是当我只需要发送一个简单的ajax 请求或部分渲染时使用哪一个? f:ajax 和 a4j:ajax 之间是否存在性能问题?

【问题讨论】:

    标签: ajax jsf-2 richfaces


    【解决方案1】:

    <a4j:ajax> 标签只是基本<f:ajax> 标签的更方便的形式。您可以在 this page 中找到所有差异的概览。

    execute 属性支持指向<a4j:region> 的额外@region 值。 executerender 属性中的任何 EL 都会在当前请求中解析,而不是在初始请求中解析。

    两个标签的onevent属性的JS函数将被调用3次(传入的data.statusbegincompletesuccess的值)。当您只对其中一个感兴趣或想以不同方式对待它们时,这会迫使您使用switchif<a4j:ajax> 分别使用 onbeginonbeforedomupdateoncomplete 属性使这更方便。另请参阅此相关问题:JSF 2: How show different ajax status in same input?

    如果您对这些增强功能不感兴趣,那么使用<f:ajax> 也应该很好。性能差异(并且必须)完全可以忽略不计,因此不是选择其中一个的理由。

    【讨论】:

      【解决方案2】:

      这里有更多关于 f:ajax 和 a4j:ajax 区别的信息:http://mkblog.exadel.com/2010/08/what-richfaces-a4jajax-adds-on-top-jsf-2-fajax-tag/

      【讨论】:

      • 谢谢 Max,你的博客不错
      • 你好麦克斯。该链接似乎不再起作用。我可以在其他任何地方找到这些信息吗?
      • 嗨 - 这是正确的链接:maxkatz.org/2010/08/19/…(我多年前将我的博客迁移到我自己的域)。
      猜你喜欢
      • 2013-09-13
      • 2017-04-05
      • 2014-09-18
      • 2015-06-14
      • 2011-05-23
      • 2011-02-15
      • 2022-01-18
      • 1970-01-01
      • 2015-03-30
      相关资源
      最近更新 更多