Einführung in Javaserver Faces

JSF sind ein standardisiertes serverseitiges Framework, welches die Entwicklung der Präsentationsschicht von Webanwendungen vereinfacht. Entwickler können wieder verwendbare UI-Komponenten zusammenstellen um Webseiten zu erstellen, diese Komponenten mit der Datenquelle der Anwendung verknüpfen und clientseitige Ereignisse mit serverseitigen Event-Handlern verarbeiten. Durch Einhalten der Spezifikation können Komponentenanbieter Komponenten entwickeln, welche sich sauber in das JSF-Runtime-Framework integrieren und auch schon während der Entwicklung in JSF-konforme IDEs integriert werden können. JSR 127, welcher das JSF-Framework definiert, bringt eine Referenzimplementierung mit, welche grundlegende UI-Komponenten bietet, wie zum Beispiel Eingabefelder und Buttons. In den meisten Fällen entsprechen diese JSF-Komponenten direkt den HTML-Komponenten und Tags, die von der HTML 2.0-Spezifikation bereitgestellt werden. Dieser Satz von relativ einfachen Komponenten dürfte für viele Webanwendungen bereits ausreichen.

Allerdings erfordern viele Anwendungen, wie zum Beispiel Supervision oder Monitoring, komplexere Darstellungen von Daten sowie Interaktionen, wie grafische Darstellungen, Diagramme oder Karten. Die Entwicklung solcher fortschrittlichen Komponenten ist nicht trivial wegen der begrenzten Fähigkeiten, komplexe grafische Widgets direkt in HTML darzustellen. Die Lösung erfordert, dass die serverseitigen Komponenten Grafiken an den Client liefern. Das bringt allerdings auch wieder Probleme mit sich, weil Interaktionen in Bezug auf normale Grafiken in HTML beschränkt sind. Und schließlich muss Javascript verwendet werden, um die clientseitigen Interaktionen zu ermöglichen, welche dem Benutzer die Navigation und die Interaktion mit den Daten erlauben.

Erstellen einer einfachen JSF-Komponente

Der folgende Abschnitt beschreibt die notwendigen Schritte, um eine sehr einfache JSF-Komponente zu erstellen, eine, die CSS in eine HTML-Seite importiert. Die Beschreibung und die Codebeispiele für diese einfache Komponente sollen dann als Grundlage für die Entwicklung der komplexeren JSF-Diagramm-Komponente in den darauf folgenden Abschnitten dienen.

Abbildung 1 zeigt, wie man die Komponente verwendet und das Ergebnis.

Der Vorteil bei der Verwendung einer solchen Komponente besteht darin, dass man das Aussehen der gesamten Seite durch eine Änderung des Werts der Komponente durch eine JSF-Aktion ändern kann.

Eine JSF-Komponente besteht aus mehreren Java-Klassen und Konfigurationsdateien. Um eine eigene JSF-Komponente zu erstellen, müssen Entwickler die folgenden Schritte ausführen:

  1. eine Java-Klasse schreiben, welche eine der JSF-Basis-Komponenten-Klassen erweitert,
  2. einen Renderer für das Default-Render-Kit schreiben,
  3. eine Java-Klasse schreiben, welche den Tag beschreibt, der in der JSP-Seite verwendet wird,
  4. eine Tag Library Definition-Datei schreiben,
  5. die JSF-Konfigurationsdatei schreiben.

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

HPE baut Supercomputer am Leibniz-Rechenzentrum

Das System basiert auf Hardware von HPE-Cray und Nvidia. Die Inbetriebnahme erfolgt 2027.

3 Tagen ago

Bund meldet Fortschritte in der Netzversorgung

Die Bundesnetzagentur hat ihr Gigabit-Grundbuch aktualisiert. Drei von vier Haushalten sollen jetzt Zugang zu Breitbandanschlüssen…

3 Tagen ago

Vorinstallierte Schadsoftware auf IoT-Geräten

Mit dem Internet verbundene Digitale Bilderrahmen oder Mediaplayer können mit Schadsoftware infiziert werden und sind…

6 Tagen ago

iOS und iPadOS 18.2 beseitigen 21 Sicherheitslücken

Schädliche Apps können unter Umständen einen Systemabsturz auslösen. Mindestens eine Anfälligkeit erlaubt eine Remotecodeausführung.

7 Tagen ago

Top-Malware im November: Infostealer Formbook bleibt Nummer 1

Sein Anteil an allen Infektionen steigt in Deutschland auf 18,5 Prozent. Das Botnet Androxgh0st integriert…

7 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome

Betroffen sind Chrome 131 und früher für Windows, macOS und Linux. Angreifer können unter Umständen…

1 Woche ago