Neue Version der JSF Utility Library

OmniFaces 2.2 verbessert Browser-Caching

Michael Thomas

© Shutterstock/Mikael Damkier

Die neue Version der JSF-Bibliothek OmniFaces bringt neue Hilfsmethoden in den Faces-, Messages- und Components-Klassen mit sich und verfügt über eine neue <o:viewAction>-Komponente. Zudem bietet OmniFaces 2.2 ein neues, refaktorisiertes FileServlet und haucht der Annotation @ViewScoped neues Leben ein.

<o:viewAction> erweitert bzw. verbessert die Standard-Komponente: Das if-Attribut wird nun nicht mehr in der APPLY_REQUEST_VALUES-, sondern in der INVOKE_APPLICATION-Phase ausgewertet. Das Attribut kann somit die konvertierten und validierten Modellwerte vor Durchführung der View-Aktion überprüfen, was in einem intuitiveren Verhalten münden soll.

Des Weiteren wurde das BalusC FileServlet für OmniFaces 2.2 refaktorisiert und in ein abstraktes Template umgearbeitet. Damit geht u. a. eine Verbesserung des Browser-Caching einher: Das Servlet kann nun angemessen mit ETag-, If-None-Match– und If-Modified-Since-Anfragen umgehen. Gleiches gilt für Range– und If-Range-Anfragen, was im Falle von Media Playern (Streaming von Audio- und Videoinhalten), Webbrowsern (Fortsetzung pausierter Downloads) und Download-Beschleunigern hilfreich bzw. notwendig ist. Das Servlet soll insbesondere dann nützlich sein, wenn sich große Dateien außerhalb einer Webanwendung befinden und das Standard-Servlet nicht zum Einsatz kommen kann.

Eine letzte prominente Neuerung betrifft die @ViewScoped-Annotation: Im Rahmen von JSF 2.0 und 2.1 wurde die @PreDestroy-Methode beim Ablauf einer Sitzung nicht aufgerufen, was OmniFaces mit der @ViewScoped-Annotation löste. Da JSF 2.2 dieses Problem beseitigte, wurde OmniFaces eigene @ViewScoped-Annotation im Grunde überflüssig. Anstatt ausgemustert zu werden, bekommt sie in OmniFaces 2.2 jedoch einen neuen Einsatzzweck: Anstatt auf das Ablaufen der Sitzung zu warten, sorgt sie nun dafür, dass @PreDestroy sofort aufgerufen wird, wenn der Browser die Seite entlädt, d. h. wenn der Nutzer beispielsweise einen Tab oder ein Fenster schließt oder die Seite aktualisiert, wird die @ViewScoped-Bean sofort zerstört.

Sämtliche Neuerungen von Version 2.2 können den OmniFaces Showcase entnommen werden. Ein Artikel von Bauke Scholtz gewährt einen tieferen Einblick in ausgewählte Features.

Aufmacherbild: Library von Shutterstock / Urheberrecht: Mikael Damkier

Verwandte Themen:

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: