当用户单击 Primefaces 中的菜单链接时如何调用 Bean 中定义的方法

How to call a Method defined in Bean when user click on Menulink in Primefaces

Primefaces(V6.0.0)

我正在尝试从应用程序注销,但是当我单击注销菜单链接时,没有任何反应。

以下是xhtml代码

  <p:submenu label="LogOut">
          <p:menuitem value="LogOut" onclick="selectComponentLink(this)" action="#{loginBean.logout}" url="/login.xhtml" />
</p:submenu>

LoginBean.java

public String logout() {        
          return "login.html";
    }

当用户点击注销菜单链接时,如何调用 LoginBean.java 中定义的 logout() 方法?

只是想为这个问题添加答案,如果我删除 onclick="selectComponentLink(this)" 然后我可以调用 action="#{loginBean.logout}"

这是完整的代码,

<p:submenu label="Sign out">
    <p:menuitem value="Sign out"  action="#{loginBean.logout}" immediate="true" />                            
</p:submenu>

loginBean.java

public String logout() {
    FacesContext.getCurrentInstance().getExternalContext().invalidateSession();
             return "/login.html?faces-redirect=true";
        }

希望这个回答对其他人有帮助。 :)