این تگ در JSF 2 و facelet اضافه شده و سبب می شود قابلیت ajax به کامپوننت های facelet اضافه شود. به مثال زیر توجه کنید:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html">
<h:head />
<body>
<h:form>
<h:commandButton value="Click">
<f:ajax render="message" listener="#{ajaxBean.handleEvent}" />
</h:commandButton>
<h:outputText id="message" value="#{ajaxBean.message}" />
</h:form>
</body>
</html>
و کد ManagedBean:
package com.mycompany;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.event.AjaxBehaviorEvent;
@ManagedBean
@RequestScoped
public class AjaxBean {
private String message;
public String getMessage() {
return message;
}
public void handleEvent(AjaxBehaviorEvent event) {
message = "Hello World";
}
}
در این مثال با افزوده شدن تگ f:ajax به کامپوننت commandButton، این کامپوننت بجای submit اطلاعات به سرور در خواست ajax به سرور می فرستد.