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.