Ajax-Anforderungen des Typs submit funktionieren so ähnlich wie die Aktion, die erfolgt, wenn ein Benutzer auf einer EGL-gesteuerten Webseite auf eine Schaltfläche klickt: Die Steuerung wird an den JSF-Handler weitergegeben und alle Variablen im JSF-Handler werden so aktualisiert, dass sie den Werten der JSF-Steuerelemente entsprechen. Anders als bei einer Aktualisierungsanforderung ist es nicht erforderlich, Parameter zu übergeben, weil alle Variablen im JSF-Handler mit den aktuellen Werten des Steuerelements aktualisiert werden. Wie bei einer Aktualisierungsanforderung werden jedoch nur die Steuerelemente in einer JSF-Fensterbereichsteuerung aktualisiert.
Bei diesem Anforderungstyp können Sie einen Bereich auf der Seite angeben, der aktualisiert werden soll, und ein Ereignis, durch das die Anforderung ausgelöst werden soll. Danach konfigurieren Sie 'onPreRenderFunction' für den JSF-Handler so, dass der angegebene Teil der Seite aktualisiert wird.
Mit Ajax-Anforderungen können in EGL nur die Abschnitte einer Seite innerhalb eines JSF-Fensterbereichsteuerelements aktualisiert werden. JSF-Fensterbereichsteuerelemente dienen hauptsächlich als Container und Organizer für andere JSF-Steuerelemente. Das Steuerelement 'Fensterbereich - Gruppenfeld' im Fach 'Erweiterte Faces-Komponenten' in der Palettenansicht ist ein sinnvolles Steuerelement, da es sich dabei nur um einen Container handelt und nicht auf der Seite sichtbar ist.
<h:panelGrid id="updatablePanel" styleclass="panelGrid">
<h:outputText id="textToUpdate" value="#{myPage.message}"
binding="#{myPage.message_Ref}" styleClass="outputText" />
</h:panelGrid>
Fügen Sie dazu ein JSF-Verhalten zu einem Eingabesteuerelement auf der Seite hinzu und wählen Sie dann ein Ereignis zum Auslösen der Anforderung aus. Die Steuerelemente mit dem Verhalten muss sich nicht in den Fensterbereichsteuerelementen befinden, aber Anforderungen können nur durch Eingabesteuerelemente ausgelöst werden.
Sie können zum Beispiel festlegen, dass die Ajax-Anforderung auftritt, wenn der Benutzer den Fokus auf ein bestimmtes Steuerelement verschiebt. Verwenden Sie in diesem Fall das Ereignis onFocus. Um die Anforderung durchzuführen, wenn der Benutzer den Fokus von einem bestimmten Steuerelement wegbewegt, verwenden Sie das Ereignis onBlur. Weitere häufig verwendete Ereignisse sind onClick, onMouseOver und onSelect.
<h:inputText id="nameText" value="#{myPage.name}"
binding="#{myPage.name_Ref}" styleClass="inputText" >
<hx:behavior event="onblur" id="behavior1"
behaviorAction="get" targetAction="updatablePanel">
</hx:behavior>
</h:inputText>
Das Verhalten könnte wie im folgenden Beispiel aussehen: 
Die Eigenschaftsansicht sieht folgendermaßen aus:

<hx:ajaxRefreshSubmit id="ajaxRefreshSubmit1"
target="updatablePanel">
</hx:ajaxRefreshSubmit>
Da 'onPreRenderFunction' beim ersten Laden der Seite sowie bei jeder Ajax-Anforderung ausgeführt wird, möchten Sie möglicherweise feststellen, wodurch das Ausführen dieser Funktion ausgelöst wurde. Dies ist möglich, indem Sie den Wert des Parameters $$ajaxmode ermitteln. Wenn die Funktion infolge eines normalen Seitenladevorgangs ausgeführt wird, besitzt dieser Parameter den Wert null. Wenn die Funktion infolge einer Ajax-Anforderung ausgeführt wird, enthält der Parameter einen Wert.
function onPreRender()
if (J2EELib.getQueryParameter("$$ajaxmode") == NULL)
//The page is loading for the first time.
//Perform page loading operations here.
else
//The page is loading as the result of an AJAX request.
//Perform AJAX updating operations here.
end
end