10. März 2015 | 2 min lesezeit

Request Optimierung in JSF Teil 1

Seit JSF 2.0 sind Ajax-Requests ein fester Bestandteil des Web-Frameworks. Kernstück bildet das -Tag mit dem JSF Komponenten wie Formularfelder und Buttons einfach ajaxifiziert werden können. Doch gerade hier lohnt es sich mal genauer hinzusehen.

JSF ermöglicht die Entwicklung von modernen Webanwendungen, ohne dass konkrete Webtechnologien oder das darunter liegende Protokoll in Tiefe verstanden werden müssen. Der hohe Abstraktionsgrad des Frameworks bietet ohne Zweifel viele Vorteile. Allerdings lohnt sich vor allem bei Ajax-lastigen Webanwendungen ein genauer Blick auf die von JSF ausgelösten Requests.

Betrachtet man die bei einem JSF-Ajax-Request übermittelten Daten (vgl. Listing 1), so fällt auf, dass stets die Werte aller in einem Formular enthaltenen Eingabefelder an den Server gesendet werden. Eine im execute-Attribut des <f:ajax/>-Tags definierte Einschränkung auf bestimmte Element-Ids (vgl. Listing 2) wird also während der Übertragung zum Server nicht berücksichtigt. Die Konsequenz daraus ist, dass bei jedem Ajax-Request unnötige Daten vom Browser an den Server geschickt werden, was sich vor allem bei geringen Bandbreiten (z.B. im mobilen Umfeld) negativ bemerkbar machen kann.

Listing 1:

Listing 2:

Für dieses Problem gibt es zum aktuellen Zeitpunkt außerhalb von Primefaces noch keine Lösung. Zwar existiert bereits seit 2012 ein offenes Spec-Issue (vgl. Spec Issue 1098), wer aber ohne Primefaces auskommen und nicht auf die Fertigstellung von JSF 2.3 warten möchte, muss sich wohl oder übel selbst behelfen. Dazu demnächst mehr…


Keine Kommentare

Kontakt

OPEN KNOWLEDGE GmbH

Standort Oldenburg:
Poststraße 1, 26122 Oldenburg

Standort Essen:
II. Hagen 7, 45127 Essen