Um diese Anforderungen zu erfüllen, wurde folgende Lösung geschaffen:
- Die JSF-Charting-Komponente verwaltet die Chart-Bean-Komponente. Dazu gehört auch, das Chart-Bean zu erzeugen, es anzupassen und es für serverseitige Aktionen zur Verfügung zu stellen.
- Die JSF-Komponente wird in zwei Phasen erzeugt:
- Der JSF-Renderer erzeugt ein <IMG>-Tag und eine Reihe von Javascript-Objekten (Abbildung 1).
- Der Client wird ein Bild vom Server anfordern. Das geschieht mittels eines Servlets, welches das Chart-Bean aufruft und ein Bild mit Methoden, die das Chart bereitstellt, erzeugt (Abbildung 2).
- Bei allen Interaktionen des Benutzers (Zoomen, Panning, Stylesheet wechseln und so weiter), durch die allein das Chart-Bild geändert wird, findet nur eine inkrementelle Aktualisierung des Chart-Bildes statt. Wenn die clientseitige Aktion mehr als nur eine Aktualisierung des Chart-Bildes erforderlich macht, wird wieder die ganze Seite abgeschickt (Abbildung 3).
Die folgenden Abbildungen stellen die Architektur dieser Lösung dar.
1. Eigenschaften erzeugen und initialisieren.
2. Chart erzeugen und anpassen und für serverseitige Aktionen bereitstellen.
3. Chart rendern.
Abbildung 1: Anfrage an JSF-Framework. |
Abbildung 2: Anfrage an das Servlet, um das Bild zu erhalten. |
Abbildung 3: Entweder ein Seitenaufruf oder ein Bildaufruf. |
Die JSF-Charting-Komponente wird auch durch eine Reihe weiterer JSF-Komponenten begleitet:
- Überblick: Ein Überblick zeigt eine Gesamtansicht des Charts sowie ein Rechteck, das die aktuelle Chart-Ansicht repräsentiert. Mit dieser Komponente kann der Benutzer auch den sichtbaren Bereich bewegen.
- Legende: Eine Legenden-Komponente bietet Informationen über den Datensatz, der gerade angezeigt wird. Die Legende kann auch im Chart selbst dargestellt werden, je nach Art der dargestellten Daten.
- Interaktoren: Es gibt auch clientseitige Interaktoren wie zum Beispiel Schwenken und Zoomen des Chart-Bildes. Diese Interaktionen können als clientseitige Interaktionen betrachtet werden, was bedeutet, dass bei Interaktionen mit dem Chart nicht die ganze Seite neu geladen wird, wie es sonst bei regulären JSF-Interaktionen geschieht.
Um die Charting-Komponente zu rendern, muss man nur das chartView-Tag verwenden:
Listing A:
Die Daten werden als Bild auf der HTML-Seite angezeigt. Das Bild wird von einem Servlet als Antwort auf einen http-Request erzeugt, wobei der http-Request verschiedene Parameter enthält, die das resultierende Bild, die Erzeugung einer Imagemap, die Generierung einer Legende und so weiter spezifizieren. Das resultierende Bild wird dann in das clientseitige DOM eingesetzt, und von der ganzen Seite wird nur das Bild selbst aktualisiert.
Es gibt einige Unterschiede zwischen einer einfachen JSF-Komponente und einer fortgeschrittenen Charting-Komponente:
Neueste Kommentare
Noch keine Kommentare zu Eine fortgeschrittene JSF-Grafikkomponente erzeugen
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.