Einführung in Javaserver Faces

Auch hier bietet das JSF-Framework Basisklassen zum Schreiben des Tags, der mit der Komponente verknüpft sein soll. Die Tag-Klasse ist verantwortlich für:

  • das Definieren des Komponententyps und des Rendering-Typs der Komponente, die in der Datei faces-config.xml verwendet werden, die im nächsten Abschnitt beschrieben wird,
  • die Erstellung der JSF-Komponente (durchgeführt vom JSF-Framework) und die Übergabe von Attributen, welche im JSF-Tag enthalten sind, um die Komponente zu initialisieren.

Der Tag in Listing C stellt set– und get-Methoden für die Verwaltung der Attribute link und value bereit.

Wenn die Komponente erstellt wird, wird die Methode setProperties aufgerufen, um ihre Eigenschaften mit den Attributen des Tags zu initialisieren. Jedes Tag-Attribut kann entweder ein literaler Wert sein oder eine Verknüpfung mit einer Bean-Eigenschaft.

Schritt 4: Schreiben der TLD (Tag Library Definition)

Die TLD ist eine XML-Datei, welche den Tag beschreibt, indem sie ihn mit der zugehörigen Java-Klasse verknüpft. Die TLD beschreibt außerdem die zulässigen Attribute des Tags.

Die TLD in Listing D definiert einen Tag mit der Bezeichnung „css“, welcher mit der Klasse CSSTag verknüpft ist. Außerdem werden die Tag-Attribute link und value deklariert.

Schritt 5: Die JSF-Konfigurationsdatei

Um eine JSF-Komponente in das Framework zu integrieren, ist es erforderlich, eine Konfigurationsdatei namens faces-config.xml bereitzustellen. Diese Datei verknüpft Komponenten-Typen und Renderer-Typen, die im JSP-Custom-Tag-Handler verwendet werden, mit ihrer zugehörigen Java-Klasse. Diese Datei beschreibt auch den Renderer, der mit jeder Komponente verwendet werden soll.

Listing E definiert die Komponenten-Familie faces.CSSFamily.

Bei diesem Beispiel besteht die Familie aus einer einzigen Komponente vom Typ faces.CSSComponent. Dieser Typ ist mit der Klasse CSSComponent verknüpft. Und schließlich wird der Renderer vom Typ HTML.LinkOrInlineRenderer, der von der Klasse CSSRenderer implementiert wird, mit der Familie faces.CSSFamily verknüpft.

Man kann noch weitere Informationen zur Integration der Komponente in eine JSF-kompatible IDE bereitstellen. Im Falle der Sun Creator IDE ist es erforderlich, eine XML-Konfigurationsdatei namens sun-faces-config.xml bereitzustellen. Diese Konfigurationsdatei beschreibt die Eigenschaften der Komponente, welche in der IDE bereitgestellt werden sollen, sowie weitere für die Entwicklung wichtige Informationen. Für eine detaillierte Beschreibung von Suns Studio Creator sowie für die Entwicklung eigener JSF-Komponenten empfiehlt sich unbedingt ein Blick auf Suns Entwicklerwebseite.

Nachdem in diesem Artikel gezeigt wurde, wie man eine einfache JSF-Komponente erstellt, wird sich der zweite Teil dieser Serie damit befassen, wie man eine grafische JSF-Komponente entwickelt.

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

Bericht: Google entwickelt App-Quarantäne für Android

Die Sicherheitsfunktion taucht in einer Beta eines kommenden Android-Updates auf. Die Quarantäne beendet unter anderem…

1 Woche ago

Kostenloser Kurs zum Ausbau von Low-Code-Programmierung

Die OutSystems Developer School hilft Entwicklern, in 2 Wochen komplexe reaktive Anwendungen mit der Low-Code-Plattform…

1 Woche ago

Cloudflare: DNS-basierte DDoS-Angriffe steigen im ersten Quartal um 80 Prozent

Das Jahr 2024 beginnt laut Cloudflare mit einem Paukenschlag. Die automatischen Systeme des Unternehmens wehren…

1 Woche ago

Roblox: 34 Millionen Zugangsdaten im Darknet

Laut Kaspersky nehmen Infostealer gerade auch Spieleplattformen ins Visier. Neue Studie untersucht Angriffe zwischen 2021…

1 Woche ago

EU-Datenschützer kritisieren Facebooks „Zustimmung oder Bezahlung“-Modell

Ohne eine kostenlose Alternative, die ohne Zustimmung zur Verarbeitung personenbezogener Daten zu Werbezwecken auskommt, ist…

2 Wochen ago

Europol meldet Zerschlagung der Phishing-as-a-Service-Plattform LabHost

LabHost gilt als einer der größten Phishing-Dienstleister weltweit. Die Ermittler verhaften 37 Verdächtige, darunter der…

2 Wochen ago