Einführung in Javaserver Faces

Die Komponenten-Klasse ist verantwortlich für die Verwaltung der Eigenschaften, welche den Zustand der Komponente beschreiben. Das bedeutet, dass man eine geeignete Basisklasse für die Komponente auswählen muss, je nachdem, ob es sich um eine Eingabe- oder Ausgabe-Komponente handelt.

Die in Listing A beschriebene Komponente erweitert javax.faces.component.UIOutput, so dass sie eine URL anzeigt, die auf eine Style-Sheet-Datei oder den Inhalt eines Inline-Style-Sheets verweist.

Die Eigenschaft link gibt die Art des Wertes an: entweder eine URL oder der Inline-Style. Die Komponente muss außerdem ihren Status zwischen zwei Anfragen beim Server speichern und wiederherstellen können, und zwar mithilfe eines Objekts, das vom JSF-Framework verarbeitet wird. Das JSF-Framework ruft automatisch die Methoden saveState und restoreState auf, welche zu diesem Zweck in der Komponente implementiert wurden.

Schritt 2: Entwickeln des Renderers

Der Renderer hat zwei Aufgaben: Einmal ist er verantwortlich für die Ausgabe eines entsprechenden HTML-Fragments, welches die Komponente im Client darstellt. Normalerweise besteht dieses HTML-Fragment aus einigen HTML-Tags, welche für die Darstellung in einem normalen Webbrowser geeignet sind. Die Rendering-Phase kann auch zur Ausgabe von Javascript-Code verwendet werden, welcher der Verbesserung der clientseitigen Interaktion dient.

Die zweite Aufgabe eines Renderers ist es, die Daten, die vom Client kommen, zu dekodieren und damit den Status der serverseitigen Komponente zu aktualisieren (zum Beispiel den Text, den der Benutzer in ein Textfeld eingegeben hat). Das standardmäßige Render-Kit PROGRAM ist zwingend erforderlich, aber man kann auch andere Render-Kits bereitstellen um eine alternative clientseitige Repräsentation oder Sprache, wie SVG, zu bieten.

Der in Listing B implementierte Renderer wählt die Art des CSS, das an die HTML-Seite übermittelt werden soll, indem er die Link-Eigenschaft der Komponente überprüft.

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

Data Analytics: Dienstleister wachsen zweistellig

Marktforscher Lündendonk erwartet für das Jahr 2025 ein durchschnittliches Umsatzwachstum von 14,9 Prozent.

1 Woche ago

Open-Source-Malware auf Rekordniveau

Alarmierender Anstieg von Open-Source-Malware / Seit 2019 haben Sonatype-Analysen mehr als 778.500 bösartige Pakete aufgedeckt

1 Woche ago

Bayerische KI-Agentur bietet KI-KOMPASS

Das KI-Werkzeug "BAIOSPHERE KI-KOMPASS" soll Unternehmen den Einstieg in KI erleichtern.

1 Woche ago

Cloudflare: Weltweiter Internettraffic wächst 2024 um 17,2 Prozent

Das Wachstum konzentriert sich wie im Vorjahr auf das zweite Halbjahr. Google dominiert bei den…

1 Woche ago

Adobe stopft kritische Löcher in Reader und Acrobat

Sie ermöglichen eine Remotecodeausführung. Angreifbar sind Acrobat DC, 2024 und 2020 sowie Reader DC und…

1 Woche ago

Dezember-Patchday: Microsoft schließt Zero-Day-Lücke

Die öffentlich bekannte und bereits ausgenutzte Schwachstelle erlaubt eine Rechteausweitung. Betroffen sind alle unterstützten Versionen…

1 Woche ago