我正在 JSF2 中创建用户身份验证,并且我在每个页面上显示的标题都包含以下内容:
<c:if test="#{user.loggedIn}">
<li><h:link value="Log out" outcome="#{user.logout}"/></li>
</c:if>
User引用 userBean,logout()只是使会话无效,并发出重定向到登录页面。因此,当用户登录时,user.loggedIn变为真,并显示注销链接,但不知何故立即被调用,并且用户立即注销。
有谁知道为什么会这样?我想过使用h:commandLink,但它需要一个表单,我试图避免它。
编辑: 我复制了错误的代码......在花了一个小时弄清楚为什么用户无法登录之后我的运气。您可以查看以前的版本以查看错误复制的代码。