Aktiviert bei
type="portlet" die AJAX-Funktionalität für das einzubettende Portlet
Nur mit type="portlet" nutzbar: Ist dieses Attribut "true" so wird das
eingebundene WebTML-Modul als AJAX-Portlet ausgegeben. AJAX-Portlets
können bei der Betätigung von AJAX-Actions separat neu geladen werden
ohne dass die komplette Webseite neu geladen werden muss.
Die Abkürzung AJAX steht für "Asynchronous Javascript and XML" und
beschreibt im Wesentlichen eine Technik, mit welcher Webseiten über die
bezeichneten Techniken intelligent beliebige Daten nachladen und zur
Darstellung bringen können, ohne dass eine Webseite komplett neu
aufgebaut werden muss. Mithilfe von AJAX-Portlets ist diese
Funktionalität nun ohne weitere Programmierung auch in WGA verfügbar.
Ein AJAX-Portlet wird im generierten HTML-Code speziell markiert, so dass der Bereich des Portlets separat neu geladen werden kann, ohne dass die komplette Webseite neu geladen werden muss. Diese Funktionalität wird von WebTML-Actions genutzt, bei deren Erzeugung - z.B. durch <tml:url type="action"> - ebenfalls das Attribut ajax="true" gesetzt wurde.
Wird eine AJAX-Aktion betätigt, so wird der Bereich des AJAX-Portlets in der Webseite neu geladen. Dies führt dazu, dass nur das WebTML-Modul des Portlets und seine eingebundenen WebTML-Module neu berechnet werden. Damit dieses wieder die notwendige Umgebung zu seiner Berechnung zur Verfügung hat werden die WebTML-Optionen, die es schon bei seiner initialen Berechnung zur Verfügung hatte, bei einer per AJAX ausgelösten Neuberechnung wiederhergestellt. Ebenso erhält das WebTML-Modul wieder dasselbe Inhaltsdokument im Kontext, welches es auch bei der initialen Berechnung besaß.
Normale WebTML-Variablen werden bei Neuberechnung eines AJAX-Portlets nicht wiederhergestellt. In WebTML-Modulen, die als AJAX-Portlets verwendet werden sollen, sollte also auf das Auswerten von WebTML-Variablen verzichtet werden, die nicht im AJAX-Portlet-Modul selbst definiert werden..
Für diese Funktionalität ist es notwendig, die WebTML-Seite mit einem
htmlhead-Tag auszustatten.