Question

Je suis assez nouveau sur JSF et sur les nombreuses technologies connexes.

J'essaie de créer un site Web dont l'en-tête comprend un logo, des liens de navigation et une zone de connexion, de sorte que cet en-tête puisse facilement être inclus dans toutes les pages du site, à moins que l'utilisateur ne se connecte, dans lequel Si un en-tête différent apparaîtra. Quelque chose de similaire à livejournal .

J'ai étudié plusieurs solutions, telles que la création d'un composant JSF personnalisé pour gérer la connexion et sa combinaison avec des fragments JSP et / ou Facelets. Mais après de nombreuses recherches sur Google, je n'ai trouvé personne qui ait essayé de créer un composant de connexion personnalisé et des informations sur la création d'un en-tête comme celui-ci. Alors, est-ce vraiment la bonne façon de résoudre mon problème? Y a-t-il une meilleure solution?

Merci d'avance.

Était-ce utile?

La solution

J'utiliserais certainement Facelets car cela vous permettra essentiellement d'inclure le même en-tête sur chaque page.

En termes de composant de connexion personnalisé, cela dépend de la façon dont vous gérez votre connexion. Si vous utilisez JAAS ou Spring Security, vous devrez les intégrer (cela peut être fait).

Cependant, un en-tête de connexion ne doit pas être difficile. Par exemple, vous pouvez simplement faire quelque chose comme:

<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}" />
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top