Тег <a4j:ajax>
- это более удобная форма базового тега <f:ajax>
. Вы можете найти хороший обзор всех отличий в этой странице .
Атрибут execute
поддерживает дополнительное значение @region
, указывающее на <a4j:region>
. Любые EL в атрибутах execute
и render
разрешаются в текущем запросе, а не в начальном запросе.
Функция JS атрибута onevent
обоих тегов будет вызываться 3 раза (переданное значение data.status
будет иметь значения begin
, complete
, success
). Это заставляет вас использовать switch
или if
, когда вы заинтересованы только в одном из них или хотите относиться к ним по-другому. <a4j:ajax>
делает это более удобным с атрибутами onbegin
, onbeforedomupdate
и oncomplete
соответственно. См. Также этот связанный вопрос: JSF 2: Как показать разные состояния AJAX на одном входе?
Если вас не интересуют какие-либо из этих улучшений, то использование <f:ajax>
также должно быть вполне приемлемым. Разница в производительности (и должна быть) совершенно незначительна и не является причиной выбора одного над другим.