Jsf 从template.xhtml调用servlet/注销

Jsf 从template.xhtml调用servlet/注销,jsf,web-applications,primefaces,Jsf,Web Applications,Primefaces,我想从templateHeader.xhtml调用servlet/注销,该文件位于templates文件夹中,如下所示: webapp |--形式 ||--form.xhtml |--WEB-INF ||--模板 || |--template.xhtml || |--templateFooter.xhtml || |--templateHeader.xhtml |--资源 |--admin.xhtml |--login.xhtml :我想你想做几件事 创建一个普通的JSF控制器(例如Logou

我想从templateHeader.xhtml调用servlet/注销,该文件位于templates文件夹中,如下所示:

webapp
|--形式
||--form.xhtml
|--WEB-INF
||--模板
|| |--template.xhtml
|| |--templateFooter.xhtml
|| |--templateHeader.xhtml
|--资源
|--admin.xhtml
|--login.xhtml

我想你想做几件事

创建一个普通的JSF控制器(例如LogoutController)方法,如

public String logout() {
    HttpSession session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
    session.invalidate();
    return "/login.xhtml?faces-redirect=true";
}
将菜单项更改为

<p:menuitem value="Quitter" action="${logoutController.logout}" icon="fa fa-sign-out"/>