Oct 092007
 

Einige JSF (Java Server Faces) Komponenten-Frameworks unterstützen Pagination in Tabellen. Dadurch kann der Anwender in den durch die Tabelle dargestellten Datensätzen blättern. Auch das viel geschätzte Richfaces bietet Pagination und unterstützt dabei die Aktualisierung der Tabellenseite über Ajax.

Wird eine Tabelle mit Pagination verwendet, damit der Anwender durch einen hinreichend großen Datenbestand blättern kann, so ist es nachteilig den gesamten Datenbestand aus der Datenbank in den Hauptspeicher zu laden. Da noch nicht bekannt ist, welche Seiten der Tabelle vom Anwender tatsächlich angefordert werden, macht es Sinn nur die Daten für die aktuell angezeigte Tabellenseite zu laden. Die Daten für andere Seiten werden erst geladen, wenn der Anwender die entsprechende Tabellenseite zur Anzeige bringt. Einmal geladene Daten einer Tabellenseite sollten im Speicher gehalten werden, sofern ein bestimmtes Maximum nicht überschritten wird.

Realisiert werden diese Anforderungen mittels Lazy-Loading List. Die Layzy-Loading Liste unterstützt das java.util.List Interface. Erst wenn mittels “List.get(index)” ein Element der Liste gelesen wird, erfolgt das Laden einer Teilmenge von Einträgen in die Liste. Als Basis verwende ich Apache Common Collections für die Realisierung der Lazy-List.

Continue reading »

Jul 212007
 

Moderne Web-Anwendungen setzen Ajax ein um die Usability zu verbessern – das weiß doch jedes Kind! Eine tolle Sache zur Verbesserung der Usability ist es, für kurze Benutzerinteraktionen einen Popup-Dialog einzublenden, der vom Benutzer einfach wieder geschlossen werden kann. Unter Umständen besteht der Popup aus einer Folge von Dialogen (Wizard-Stil). Der Popup soll kein neues Browser-Fenster sein, sondern per Div über der aktuellen Seite als modaler Dialog “schweben”. Dieser Artikel zeigt eine angenehme Lösung für derartige Popup-Wizard-Dialoge unter Verwendung von Java Server Faces (JSF) und Ajax4JSF (A4J).

Continue reading »