Frage

Ich bin ziemlich neu in JSF und den vielen vielen verwandten Technologien da draußen.

Ich versuche eine Website zu erstellen, die über einen Kopfball verfügt, der ein Logo, eine Navigationslinks und ein Anmeldefeld enthält, sodass dieser Header problemlos in alle Seiten der Site aufgenommen werden kann, es sei denn, der Benutzer protokolliert sich ein. Der Kopf wird erscheinen. Etwas Ähnliches wie LiveJournal.

Ich habe einige Lösungen wie das Erstellen einer benutzerdefinierten JSF -Komponente für die Anmeldung und die Kombination mit JSP -Fragmenten und/oder -Fakeletts angesehen. Nach vieler Google -Suche habe ich jedoch niemanden gefunden, der versucht hat, eine benutzerdefinierte Anmeldekomponente zu erstellen, und Informationen über das Erstellen eines solchen Headers sind spärlich. Ist das also wirklich der richtige Weg, um mein Problem zu lösen? Gibt es eine bessere Lösung?

Danke im Voraus.

War es hilfreich?

Lösung

Ich würde definitiv Facelets verwenden, da Sie im Grunde genommen denselben Header auf jeder Seite aufnehmen können.

In Bezug auf eine benutzerdefinierte Anmeldekomponente hängt dies davon ab, wie Sie mit Ihrem Login umgehen. Wenn Sie JAAs oder Frühlingssicherheit verwenden, müssen Sie sich in sie integrieren (kann dies erledigt werden).

Ein Anmeldekopf ist jedoch nicht schwierig. Zum Beispiel könnten Sie einfach so etwas tun wie:

<h:form id="loginForm" rendered="#{! loginBean.loggedIn}">
    Username: <h:inputText id="username" value="#{loginBean.username}" />
    Password: <h:inputPassword id="password" value="#{loginBean.password}" />
    <h:commandButton value="Login" action="#{loginBean.login}" />
</h:form>
<h:outputText rendered="#{loginBean.loggedIn}" value="You are logged in as #{loginBean.username}" />
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top