onPostRenderFunction
Mit der JSF-Handlereigenschaft onPostRenderFunction können Sie den Namen einer Funktion angeben, die unmittelbar nach dem Rendern der HTML im Arbeitsspeicher, aber vor der Anzeige der Seite ausgeführt wird. Sie hat die folgenden Merkmale:
- Sie wird jedesmal ausgeführt, wenn die Seite gerendert wird, auch dann, wenn die Seite aufgrund einer Fehlersituation wie Datenkonvertierung, Auswertung oder einer Anweisung setError erneut angezeigt wird.
- Die Anzahl und der Typ der Parameter in der angegebenen Funktion muss bei Verwendung mit den Parametern in den während der Erstellung und vor dem Rendern ausgeführten Funktionen übereinstimmen. Andernfalls tritt ein Auswertungsfehler auf.
- Die während der Erstellung, vor dem Rendern und nach dem Rendern ausgeführten Funktionen des JSF-Handlers können auf Parameter zugreifen, die aus einer Anweisung forward oder aus den Abfragezeichenfolgen in einer URL übergeben werden. Die Parameter bleiben als Anforderungsdaten erhalten.
- Wenn Parameter mit der nach dem Rendern ausgeführten Funktion definiert werden und während des Funktionsaufrufs keine Argumente übergeben werden, nehmen die Parameter die Standardwerte an. Ein numerischer Parameter hat beispielsweise einen Standardwert '0', ein Zeichenparameter enthält standardmäßig eine leere Zeichenfolge und ein Referenzparameter nimmt standardmäßig einen Nullwert an. Dies kann passieren, wenn ein Auswertungsfehler auf der Seite auftritt und die Funktion aufgerufen wird, bevor die Seite erneut angezeigt wurde.
- Die Auswertung markiert es nicht als Fehler, wenn Argumente für eine Anweisung forward angegeben werden und die Anzahl sowie der Typ der Argumente nicht mit den für die Funktion definierten Parametern übereinstimmen.
- Wenn die Funktionen ohne Parameter definiert werden, werden alle Argumente, die an die Funktion von einer Anweisung forward oder einem Link übergeben werden, ignoriert.
- Die Funktion hat Zugriff auf alle Komponenten auf der Seite.
Vergleichen Sie die folgenden verwandten Eigenschaften:
- onConstructionFunction gibt eine Funktion an, die nur ausgeführt wird, wenn die Page-Bean instanziiert ist.
- onPreRenderFunction gibt eine Funktion an, die ausgeführt wird, bevor die Seite im Arbeitsspeicher gerendert wurde.
Einschränkungen
- Im Gegensatz zu den während der Erstellung und vor dem Rendern ausgeführten Funktionen kann die nach dem Rendern ausgeführte Funktion auf die JSF-Komponentenbaumstruktur zugreifen, wie unter Zugriff auf Komponentenbaumstruktur erläutert. Da diese Funktion jedoch erst aufgerufen wird, nachdem die Seite wiedergegeben und an den Browser gesendet wurde, sind die Änderungen an der Seite erst sichtbar, wenn der Benutzer die Seite aktualisiert.
- Die nach dem Rendern ausgeführte Funktion kann eine Anweisung forward to URL, aber keine Anweisung forward to label verwenden.
Beispiel
Im folgenden Beispiel wird die Eigenschaft im Kontext eines JSF-Handlerabschnitts dargestellt:
Handler handler01 type JSFHandler
{ onPostRenderFunction=saveVars }
...
Function saveVars()
...
end
end
Kompatibilität
| Datenelement | JSF-Handler | VGUI-Datensatz | Konsol-UI | Textformular Java™ | Textformular COBOL | Druckformular Java | Druckformular COBOL |
|---|---|---|---|---|---|---|---|
| Nein | Ja | Nein | Nein | Nein | Nein | Nein | Nein |