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.

Listing A

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.

Listing B

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Einführung in Javaserver Faces

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *