setErrorForComponentID()

Die Systemfunktion 'sysLib.setErrorForComponentID()' ordnet eine Nachricht einem Feld in einem JSF-Handler zu.

Die Zuordnung basiert auf der ID einer Komponente auf der Webseite. Wenn ein JSF-Handler die Funktion aufruft, wird die Nachricht an die Position einer Nachricht oder Nachrichtenkennung in JavaServer Pages (JSP) gestellt.

Die Nachricht wird angezeigt, wenn die zugehörige Webseite angezeigt wird. Sie können diese Funktion als Teil einer Prüfroutine oder für Informationsnachrichten verwenden.

Wenn eine Gültigkeitsprüffunktion die Funktion 'sysLib.setErrorForComponentID()' aufruft, wird die Webseite automatisch erneut angezeigt, wenn die Funktion beendet wird.

Sie können einer Komponente mehrere Nachrichten zuordnen. Wenn der JSF-Handler eine forward-Anweisung ausführt, gehen die Nachrichten verloren.

Syntax

  sysLib.setErrorForComponentID(
    Komponenten-ID STRING in,
    Nachrichtenschlüssel STRING in
    [, Nachrichteneinfügung STRING in])
Komponenten-ID
Die ID einer Komponente auf der Webseite, der Sie die Nachricht zuordnen wollen. Die ID hat das Format Formularname:Komponentenname, wobei Formularname die ID des Formulars ist, das die Komponente enthält, und Komponentennamen die ID der Komponente ist.
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. 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 in der Datei.
Nachrichteneinfügungen
Bei der Eingabe kann es sich um eine(n) oder mehrere Variablen oder Ausdrücke handeln, die mit dem Typ STRING zuordnungskompatibel sind. Alle Nachrichteneinfügungen werden in die Ausgabenachricht eingefügt. Das Substitutionssymbol im Nachrichtentext ist eine ganze Zahl in geschweiften Klammern, wie im folgenden Beispiel:
  Ungültiger Dateiname {0}
Im Gegensatz zur Funktion 'sysLib.getMessage()', die eine Feldgruppe von Einfügungen akzeptiert, können in der Funktion 'sysLib.setErrorForComponentID()' nur einzelne Parameter für Ersetzungen verwendet werden.
Nachrichtentext
Bei der Eingabe kann es sich um eine beliebige Variable oder einen beliebigen Ausdruck handeln, die/der mit dem Typ STRING zuordnungskompatibel ist. Dies ist der Text einer Nachricht, die der Webseite selbst 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.
Das folgende Beispiel zeigt einen Codeabschnitt, in dem diese Nachricht verwendet wird:
  userName STRING = getUserName();  // Aufforderung zur Eingabe
  rc = validateUserName(userName);
  if (rc < 0)
    SysLib.setErrorForComponentID( "form1:CustName", 
       SysLib.getMessage( "badname", [ userName ] ) );
  end

Kompatibilität

Tabelle 1. Hinweise zur Kompatibilität für 'setErrorForComponentID()'
Plattform Problem
COBOL-Generierung Die Funktion 'setErrorForComponentID()' wird nicht unterstützt.
JavaScript-Generierung Die Funktion 'setErrorForComponentID()' wird nicht unterstützt.

Feedback