我正在使用以下代码进行注销
public String logout() throws ServletException {
cleanSession();
FacesContext.getCurrentInstance().getExternalContext()
.invalidateSession();
HttpServletRequest request = (HttpServletRequest) FacesContext
.getCurrentInstance().getExternalContext().getRequest();
FacesContext.getCurrentInstance().getExternalContext()
.invalidateSession();
return "Logout";
}
登录文件夹中的Logout.xhtml 页面,但我最终还是
无法找到与from-view-id匹配的导航案例 ' /core/dashboard.xhtml' for action'#{loginBean.logout}'结果 '退出'
我尝试在 Stackoverflow 中提供最大解决方案,但无法获得解决方案..我在下面的代码中尝试了
public String logout() throws ServletException {
cleanSession();
FacesContext.getCurrentInstance().getExternalContext()
.invalidateSession();
HttpServletRequest request = (HttpServletRequest) FacesContext
.getCurrentInstance().getExternalContext().getRequest();
FacesContext.getCurrentInstance().getExternalContext()
.invalidateSession();
try {
String action = request.getContextPath()
+ "/login/Logout.xhtml";
return action;
} catch (Exception e) {
LOG.error("Exception in forwarding at Logout", e);
}
return null;
}
但同样的问题..任何人都可以告诉我这是什么问题吗?
我稍作修改并添加了
<p:commandLink ajax="false" rendered="#{loginBean.loginStatus}"
value="Logout" actionListener="#{loginBean.logout}" action="Logout">
</p:commandLink>
以前就像这样
<p:commandLink ajax="false" rendered="#{loginBean.loginStatus}"
value="Logout" action="#{loginBean.logout}"
>
</p:commandLink>
答案 0 :(得分:0)
您正尝试从 / core / 导航到 / login / 这是另一个目录。
JSF隐式导航允许您导航到同一文件夹或任何父文件夹中的页面。
请对这种情况使用faces-config.xml导航规则。