showcase richface remote modal example ajax jsf-2 richfaces

richface - ¿Hay alguna diferencia entre f: ajax y a4j: ajax?



richfaces example (2)

¿Hay alguna diferencia significativa entre las etiquetas f:ajax y a4j:ajax ?

Sé de a4j: ajax de Richfaces 4 se basa en la etiqueta nativa f: ajax JSF2 agregando algunos atributos que no se encuentran en f: ajax como onbegin , onbeforedoupdate , bypassUpdates , limitRender , status y focus pero cuál usar cuando solo necesito enviar una simple solicitud ajax o representación parcial? ¿Hay problemas de rendimiento entre f: ajax y a4j: ajax?



La <a4j:ajax> es simplemente la forma más conveniente de la etiqueta básica <f:ajax> . Puede encontrar una buena descripción general de todas las diferencias en esta página .

El atributo execute admite un valor @region adicional que apunta a <a4j:region> . Cualquier EL en los atributos de execute y render se resuelve en la solicitud actual en lugar de en la solicitud inicial.

La función JS del atributo onevent de ambas etiquetas se invocará 3 veces (el data.status tiene entonces los valores begin , complete , success ). Esto te obliga a utilizar un switch o if solo estás interesado en uno de ellos o quieres tratarlos de manera diferente. El <a4j:ajax> hace más conveniente con el onbegin , el onbeforedomupdate y los atributos oncomplete respectivamente. Ver también esta pregunta relacionada: JSF 2: ¿Cómo se muestra el estado de Ajax diferente en la misma entrada?

Si no estás interesado en ninguna de esas mejoras, usar <f:ajax> debería estar perfectamente bien. La diferencia de rendimiento es (y debe ser) totalmente insignificante y no debe ser la razón para elegir una sobre la otra.