Java EE 7 Grundkurs

Implizite Navigation

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Die implizite Navigation erfolgt im JSF-Framework über die Angabe von entsprechenden Parametern auf den Ebenen verschiedener Standardkomponenten. Das Framework übersetzt die angegebenen Informationen in Ressourcennamen und ruft diese anschließend auf.

Transkript

Die Navigation innerhalb von JSF-Applikationen kann grundsätzlich auf verschiedene Arten und Weisen geschehen. Sie sind zum Beispiel immer in der Lage, fest verdrahtete Textlinks zu benutzen. Aber es gibt auch dynamische Ansätze. Und ein dynamischer Ansatz ist die implizite Navigation. Dieser wollen wir uns in diesem Video widmen. Die implizite Navigation basiert auf der Verwendung von commandLink oder commandButton Komponenten, denn diese erlauben es, mithilfe Ihres action-Attributes auf eine andere Seite innerhalb der Applikation zu navigieren. Dabei wird das, was in "action" drin steht ausgewertet. Das ist eine Zeichenkette. Und bei einem passenden Facelet wird dieses dann eingebunden. Wir sehen hier ein kleines Beipiel. Hier ist ein commandButton definiert, dessen action-Eigenschaft den Wert Login hat. Die Suche nach dem passenden Facelet findet nun so statt, dass geschaut wird, ob es ein Facelet mit dem Namen "login.xhtml" im aktuellen Verzeichnis gibt. Ist dem so, dann wird das entsprechende Facelet eingebunden. Wir haben zwei Komponenten zur Auswahl: commandLink, das ist ein Text-Link und commandButton, das ist ein klassischer Button. Beide Komponenten verfügen über dieses action-Attribut. Die implizite Navigation kann auch dynamisch geschehen. Das bedeutet, wir können mithilfe von Expression Language Ausdrücken, uns an eine Eigenschaft binden oder an eine Methode. In jedem Fall muss hier die Rückgabe auch wieder eine Zeichenkette sein. Wie diese Zeichenkette dann generiert wird, das obliegt am Ende des Tages, der jeweiligen Methode, die da eingebunden wird. Sehen wir uns einfach einmal an, wie wir implizite Navigation verwenden können. Wir sehen hier das Template einer Web-Applikation. Hier werden zwei commandLinks registriert. Ein commandLink, der auf eine "action" mit dem Namen RegisterUser weiterreicht und ein commandLink, der in einer Eigenschaft einer Bean gebunden ist. Wenn wir uns diese Eigenschaft anschauen, dann ist das eine Eigenschaft, die ihrerseits bestimmte Bedingungen auswertet, bevor eine Rückgabe des jeweils gewünschten Ziels geschieht. Was hier zurückgegeben wird, ZeigeUser, KeineUser oder hier im Template auch RegisterUser sind Namen von Views. Diese werden bei der Auswertung um die Dateiendung .xhtml ergänzt und wenn sie vorhanden sind, dann findet ein Weiterleiten auf die jeweilige Seite statt. Ich möchte Sie noch auf einen häufig gemachten Fehler hinweisen. Wenn Sie commandLinks definieren, dann sollten Sie dafür sorgen, dass diese commandLinks sich innerhalb von einem h: form Element befinden. Tun Sie das nicht, bekommen Sie nämlich genau diese Fehlermeldung, wie ich sie hier unten gerade angezeigt bekomme. Das heißt, der Text wird angezeigt, aber danach wird gemeldet, dass der Link deaktiviert ist, weil er nicht in ein JSF-Formular eingebettet ist. Das bedeutet, commandLinks müssen immer innerhalb eines Formulars stehen. Sie haben in diesem Video gelernt, wie Sie implizite Navigation nutzen können und wie eine implizite Navigation stattfinden kann, nämlich entweder über einen fest hinterlegten Wert in einer "action" oder per Expression Language Ausdruck, indem auf eine Named Bean und deren Methoden verwiesen wird. Die Rückgabe der hier definierten Methode, der Named Bean, wird genutzt, um die nächste View zu bestimmen. Sie können diese Funktionalität in Ihren Programmen überall einsetzen, sollten jedoch darauf achten, dass sich commandLinks und auch commandButtons immer innerhalb von h:form Elementen befinden.

Java EE 7 Grundkurs

Lernen Sie die Grundlagen der Programmierung mit Java EE 7 verstehen und anwenden.

6 Std. 4 min (44 Videos)
Derzeit sind keine Feedbacks vorhanden...

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!