setError()
Die Systemfunktion 'sysLib.setError()' ordnet eine Nachricht einem von mehreren möglichen Containern zu.
- Ein Feld in einem JSF-Handler
- Ein Feld in einem VGUI-Datensatz (VGUIRecord)
- Der JSF-Handler selbst
- Wenn ein JSF-Handler die Funktion aufruft, wird die Nachricht an die Position einer Nachricht oder Nachrichtenkennung in JavaServer Pages (JSP) gestellt.
- Wenn ein VGWebTransaction-Programm die Funktion aufruft, wird die Nachricht an die Position des zugeordneten Felds in JSP gestellt.
Die Nachricht wird angezeigt, wenn die zugehörige Webseite angezeigt wird.
Wenn eine Gültigkeitsprüffunktion die Funktion 'sysLib.setError()' aufruft, wird die Webseite automatisch erneut angezeigt, wenn die Funktion beendet wird.
Die erste der drei für die Funktion unter 'Syntax' gezeigten Signaturen ist in JSF-Handlern und in VGWebTransaction-Programmen verfügbar, während die zweite und dritte Signatur nur für JSF-Handler verfügbar sind:
Sie können einem Feld oder dem JSF-Handler mehrere Nachrichten zuordnen. Die Nachrichten gehen verloren, wenn der JSF-Handler eine forward-Anweisung ausführt oder wenn das VGWebTransaction-Programm eine transfer- oder show-Anweisung ausführt.
Sie können 'sysLib.setError()' in der in der Eigenschaft 'onPostRenderFunction' des JSF-Handlers angegebenen Funktion verwenden, jedoch nicht in den Funktionen, die in den Eigenschaften 'onPostRenderFunction' und 'onConstructionFunction' angegeben sind.
Syntax
sysLib.setError(
fehlerhaftes_Feld anyPageVariable in,
Nachrichtenschlüssel STRING in
[, Nachrichteneinfügung STRING in])
sysLib.setError(
this enumerationThis in,
Nachrichtenschlüssel STRING in
{, Nachrichteneinfügung STRING in})
sysLib.setError(Nachrichtentext STRING in)
- fehlerhaftes_Feld
- Wenn 'sysLib.setError()' über einen JSF-Handler ausgegeben wird, dann ist 'fehlerhaftes_Feld
eine Variable im JSF-Handler, die an eine Komponente auf der Webseite gebunden ist.
Wenn 'sysLib.setError' über ein VGWebTransaction-Programm ausgegeben wird, dann ist 'fehlerhaftes_Feld ein Feld im VGUI-Datensatz, das in der Anweisung 'show' oder 'converse' oder im Abschnitt 'inputUIRecord' für das Programm angegeben wird.
- this
- Verweist auf den JSF-Handler, der den Aufruf von 'sysLib.setError()' ausgibt. In diesem Fall wird die Nachricht nicht in einem Feld angegeben, sondern dem JSF-Handler selbst zugeordnet. Ausführliche Informationen zu 'this' finden Sie unter Schlüsselwort "this".
- Nachrichtenschlüssel
- Bei der Eingabe kann es sich um eine beliebige Variable oder einen beliebigen Ausdruck handeln, die/der mit dem Typ STRING zuordnungskompatibel ist (siehe Zuordnungskompatibilität in EGL). Der Nachrichtenschlüssel liefert den Schlüssel zum Nachrichtenressourcenpaket oder zur Eigenschaftendatei, das/die zur Ausführungszeit verwendet wird. Wird für den Schlüssel kein Wert angegeben, ist die Nachricht eine Verkettung sämtlicher Nachrichten.
- Nachrichteneinfügung
- Bei der Eingabe kann es sich um eine
beliebige Variable oder einen beliebigen Ausdruck handeln, die/der mit dem Typ STRING zuordnungskompatibel
ist (siehe Zuordnungskompatibilität in EGL). Nachrichteneinfügung wird in die Ausgabenachricht eingefügt. Das
Substitutionssymbol im Nachrichtentext ist eine ganze Zahl in geschweiften Klammern, wie im folgenden Beispiel:
Ungültiger Dateiname {0} - In der Funktion 'sysLib.setError()' ist nur eine einzige Zeichenfolge vom Typ Nachrichteneinfügung zulässig, wohingegen in der Funktion 'sysLib.getMessage()' eine Feldgruppe aus Einfügungen möglich ist.
- Nachrichtentext
- Bei der Eingabe kann es sich um eine beliebige Variable oder einen beliebigen Ausdruck handeln, die/der mit dem Typ STRING zuordnungskompatibel ist (siehe Zuordnungskompatibilität in EGL). Dies ist der Text einer Nachricht, die der Webseite zugeordnet ist.
Beispiel
Das folgende Beispiel zeigt einen Eintrag in der Nachrichtendatei 'errorMessages_en_US.properties':
badname = The name you entered, {0}, is not valid.
userName STRING = getUserName(); // Aufforderung zur Eingabe
rc = validateUserName(userName);
if (rc < 0)
SysLib.setError( SysLib.getMessage( "badname", userName ) );
end
Hinweise zur Kompatibilität
| Plattform | Problem |
|---|---|
| JavaScript-Generierung | Die Funktion 'sysLib.setError()' wird nicht unterstützt. |
| JSF-Handler | Einfügungen für Nachrichten in einer Datentabelle (DataTable) vom Typ 'msgTable' (Nachrichtentabelle) werden unterstützt. Die erste Einfügung ist {0}. |
| Webtransaktionen | Einfügungen für Nachrichten in einer Datentabelle (DataTable) vom Typ 'msgTable' (Nachrichtentabelle) werden unterstützt. Die erste Einfügung ist {1}. |