Die Darstellungsklasse eines JSF-Steuerelements ändern

Wie viele Elemente auf Webseiten können JSF-Steuerelemente einer Darstellungsklasse mit dem Attribut class zugewiesen werden. Eine Darstellungsklasse (nicht zu verwechseln mit einer Java™-Klasse) ist eine Gruppe aus null bis mehreren Befehlen, durch die das Aussehen eines Elements auf einer Webseite beschrieben wird. Darstellungsklassen werden mit der Sprache Cascading Style Sheets definiert. Dabei handelt es sich um eine Sprache, mit der viele unterschiedliche Aspekte des Aussehens einer Webseite gesteuert werden können.

Sie können die Darstellungsklasse eines JSF-Steuerelements auf einer Faces-JSP-Datei von einer Klasse in eine andere ändern. Um kleinere Änderungen an der Darstellung eines JSF-Steuerelements vorzunehmen, wie zum Beispiel Änderungen an der Schriftfarbe, lesen Sie das Kapitel Die Darstellung eines JSF-Steuerelements ändern.

Für diese Task gelten die folgenden Voraussetzungen: Nähere Informationen zu diesen Vorbedingungen finden Sie im Kapitel Mit dem Quellenassistent auf den JSF-Komponentenbaum zugreifen.
Gehen Sie wie folgt vor, um die Darstellungsklasse eines JSF-Steuerelements von einem EGL-JSF-Handler aus zu ändern:
  1. Drücken Sie in einer leeren Zeile innerhalb einer Funktion im Handler Strg+Umschalt+Z. Das Fenster 'EGL-Quellenassistent' wird geöffnet und die JSF-Steuerelemente werden auf der Seite angezeigt.
  2. Wählen Sie im Fenster 'EGL-Quellenassistent' das JSF-Steuerelement aus, auf das Sie zugreifen möchten.
  3. Klicken Sie auf 'OK'.
    Im EGL-Quellenassistent werden zwei Zeilen EGL-Code zum JSF-Handler hinzugefügt. Mit der ersten Zeile wird eine EGL-Variable des Typs definiert, der mit dem ausgewählten JSF-Steuerelement übereinstimmt. Mit der zweiten Zeile wird diese Variable dem JSF-Steuerelement zugeordnet. Der Code zum Zugreifen auf ein JSF-Eingabetextsteuerelement könnte zum Beispiel folgendermaßen aussehen:
    text1 HtmlInputText;
    text1 = myViewRoot.findComponent("form1:text1");
  4. Legen Sie unter Verwendung der mit dem Quellenassistent erstellten EGL-Variable die Darstellungsklasse des JSF-Steuerelements mithilfe der Funktion setStyleClass fest. Um zum Beispiel ein Textsteuerungselement auf eine Darstellungsklasse mit dem Namen errorField festzulegen, fügen Sie den folgenden Code hinzu:
    text1.setStyleClass("errorField");
    Wenn dieser Code ausgeführt wird, wird die Darstellungsklasse des Eingabesteuerelements geändert. In diesem Beispiel sieht der im Browser angezeigte HTML-Code folgendermaßen aus:
    <input id="form1:text1" type="text" name="form1:text1" class="errorField" />

Feedback