我使用了导航规则,在jsf中从一个页面导航到另一个页面。但问题是虽然我在faces-config页面中使用了url但没有得到更新。
代码段如下:
faces-config.xml:
<navigation-rule>
<display-name>faces/layout.xhtml</display-name>
<from-view-id>/faces/layout.xhtml</from-view-id>
<navigation-case>
<from-outcome>logout</from-outcome>
<to-view-id>/faces/logout.xhtml</to-view-id>
<redirect />
</navigation-case>
</navigation-rule>
source.java
public String Logout() {
FacesContext facesContext = FacesContext.getCurrentInstance();
isLogged = false;
session = (HttpSession)facesContext.getExternalContext().getSession(false);
if(session != null)
{
session.setAttribute("username", "");
session.invalidate();
}
return "logout";
}
sample.xhtml:
<p:splitButton value="#{loginBean.getUsername()}" icon="ui-icon-person">
<p:menuitem value="Logout" icon="ui-icon-close" action="#{source.Logout()}" ajax="false"/>
</p:splitButton>
任何帮助总是受到赞赏
提前致谢