f:ajax 和 a4j:ajax 之间有啥区别吗?

Posted

技术标签:

【中文标题】f:ajax 和 a4j:ajax 之间有啥区别吗?【英文标题】: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 之间是否存在性能问题?

【问题讨论】:

【参考方案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/…(我多年前将我的博客迁移到我自己的域)。

以上是关于f:ajax 和 a4j:ajax 之间有啥区别吗?的主要内容,如果未能解决你的问题,请参考以下文章

RenderPartial 和 RenderPage 之间有啥区别吗? [复制]

激活函数和传递函数之间有啥区别吗?

Observable 和 Future.get 之间有啥区别吗

where 子句和使用关联对象来提高性能之间有啥区别吗

Activityname.this() 和 this 之间有啥区别吗?

[,] 2d 数组和 [][] 数组之间有啥功能区别吗? [复制]