Ein Ausblick auf die spannendsten Neuerungen

JSF 2.2 - Quo vadis?

Steffen Heinzl, Benjamin Schmeling


Die neue Java Enterprise Edition 7 (JSR 342) hat sich zum Ziel gesetzt, das Ausführen von JEE-Applikationen in Cloud-Infrastrukturen zu vereinfachen. Der neue Standard ist für die zweite Hälfte dieses Jahres geplant. Dabei wird es einige größere Versionsupdates bei den jeweils angegliederten Spezifikationen geben. Im Folgenden seien Servlets 3.1 (u. a. Multi-Tenancy für Sicherheitsaspekte, Sessions und Ressourcen), EJB 3.2 (Architekturanpassungen für Platform as a Service, PaaS), JPA 2.1 (u. a. Multi-Tenancy Support), und JSF 2.3 (JSR 344) genannt. Über die Neuerungen in JSF 2.3 ist bislang wenig bekannt. Das Release von JSF 2.2 hingegen rückt immer näher, weswegen sich jetzt schon ein Blick auf die neuen Features lohnt. Natürlich ist, da Version 2.2 planmäßig auch erst Mitte dieses Jahres fertig gestellt werden wird, zum jetzigen Zeitpunkt noch nicht hundertprozentig klar, welche der hier vorgestellten Features letztendlich wirklich Teil der Spezifikation werden. Dennoch zeichnen sich schon einige spannende Neurungen ab, über die wir in diesem Artikel berichten möchten.

View Actions

Ein neues Feature, das sich zuvor als JSF Enhancement im Seam Framework durchgesetzt hat, ist die so genannte View Action. Es handelt sich hierbei um eine Action, die nicht wie sonst über einen commandLink oder commandButton ausgeführt wird, sondern an die View (die Wurzel eines JSF-Komponentenbaums) der JSF-Seite gebunden wird. Dies hat zur Folge, dass die View Action ausgeführt wird, bevor die Seite angezeigt und damit der Komponentenbaum aufgebaut wird. Damit ist es möglich, einerseits zusätzliche Logik vor dem Anzeigen einer Seite auszuführen (was vorher auch schon mit dem möglich war), andererseits kann man aber auch, basierend auf einer logischen Bedingung, eine andere als die angeforderte Seite anzeigen. Dies ist zum Beispiel äußerst hilfreich, wenn man eine Zugangsberechtigungsprüfung für einen Nutzer durchführen möchte, um ihn auf eine alternative Seite weiterzuleiten, falls keine Berechtigung vorliegt. Die View Action wird wie gewohnt an eine Methode aus einer ManagedBean gebunden, wobei auch Navigation Rules verwendet werden dürfen. Wie in Listing 1 zu sehen, wird die View Action im -Tag platziert und ein zusätzlicher viewParam für die User ID verwendet. Der onPostback-Parameter spezifiziert, ob die Action bei jedem Request ausgeführt werden soll (true) oder nur bei Requests, die nicht über JSF gesendet wurden.

Listing 1: ...

Ein Ausblick auf die spannendsten Neuerungen

JSF 2.2 - Quo vadis?

Steffen Heinzl, Benjamin Schmeling


Die neue Java Enterprise Edition 7 (JSR 342) hat sich zum Ziel gesetzt, das Ausführen von JEE-Applikationen in Cloud-Infrastrukturen zu vereinfachen. Der neue Standard ist für die zweite Hälfte dieses Jahres geplant. Dabei wird es einige größere Versionsupdates bei den jeweils angegliederten Spezifikationen geben. Im Folgenden seien Servlets 3.1 (u. a. Multi-Tenancy für Sicherheitsaspekte, Sessions und Ressourcen), EJB 3.2 (Architekturanpassungen für Platform as a Service, PaaS), JPA 2.1 (u. a. Multi-Tenancy Support), und JSF 2.3 (JSR 344) genannt. Über die Neuerungen in JSF 2.3 ist bislang wenig bekannt. Das Release von JSF 2.2 hingegen rückt immer näher, weswegen sich jetzt schon ein Blick auf die neuen Features lohnt. Natürlich ist, da Version 2.2 planmäßig auch erst Mitte dieses Jahres fertig gestellt werden wird, zum jetzigen Zeitpunkt noch nicht hundertprozentig klar, welche der hier vorgestellten Features letztendlich wirklich Teil der Spezifikation werden. Dennoch zeichnen sich schon einige spannende Neurungen ab, über die wir in diesem Artikel berichten möchten.

View Actions

Ein neues Feature, das sich zuvor als JSF Enhancement im Seam Framework durchgesetzt hat, ist die so genannte View Action. Es handelt sich hierbei um eine Action, die nicht wie sonst über einen commandLink oder commandButton ausgeführt wird, sondern an die View (die Wurzel eines JSF-Komponentenbaums) der JSF-Seite gebunden wird. Dies hat zur Folge, dass die View Action ausgeführt wird, bevor die Seite angezeigt und damit der Komponentenbaum aufgebaut wird. Damit ist es möglich, einerseits zusätzliche Logik vor dem Anzeigen einer Seite auszuführen (was vorher auch schon mit dem möglich war), andererseits kann man aber auch, basierend auf einer logischen Bedingung, eine andere als die angeforderte Seite anzeigen. Dies ist zum Beispiel äußerst hilfreich, wenn man eine Zugangsberechtigungsprüfung für einen Nutzer durchführen möchte, um ihn auf eine alternative Seite weiterzuleiten, falls keine Berechtigung vorliegt. Die View Action wird wie gewohnt an eine Methode aus einer ManagedBean gebunden, wobei auch Navigation Rules verwendet werden dürfen. Wie in Listing 1 zu sehen, wird die View Action im -Tag platziert und ein zusätzlicher viewParam für die User ID verwendet. Der onPostback-Parameter spezifiziert, ob die Action bei jedem Request ausgeführt werden soll (true) oder nur bei Requests, die nicht über JSF gesendet wurden.

Listing 1: ...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang