onPreRenderFunction
Mit der JSF-Handlereigenschaft onPreRenderFunction können Sie den Namen einer Funktion angeben, die Seitendaten aktualisiert, bevor die Seite im Arbeitsspeicher gerendert wird. Sie hat die folgenden Merkmale:
- Sie wird im Anschluss an die während der Erstellung gültigen Funktion (falls definiert) ausgeführt, wenn die Seite zum ersten Mal angezeigt wird.
- Sie wird jedesmal ausgeführt, wenn die Seite gerendert wird, außer 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 nach 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 vor 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.
- onPostRenderFunction gibt eine Funktion an, die ausgeführt wird, nachdem die Seite im Arbeitsspeicher gerendert wurde, aber bevor sie in der Anzeige ausgegeben wird.
Einschränkungen
- Die vor dem Rendern ausgeführte Funktion kann nicht auf die JSF-Komponentenbaumstruktur zugreifen, wie unter Zugriff auf Komponentenbaumstruktur erläutert.
- Die vor dem Rendern ausgeführte Funktion kann keine Fehlernachricht für eine Komponente mit sysLib.setError() festlegen. Allerdings kann die Funktion sysLib.setErrorForComponentID() verwenden.
- Die vor 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
{ onPreRenderFunction=refreshVars }
...
Function refreshVars()
...
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 |