我想要做的只是一個簡單的註銷功能。主頁面將調用模板頁面;由標題和內容組成。標題包含註銷按鈕。在頁面中會有兩種形式,一種在標題(註銷按鈕),一種在內容中(很少的按鈕,鏈接等)。與ajax命令鏈接只能在第二次點擊時工作
我的問題是頁面刷新時,第一次點擊註銷鏈接,只有第二次點擊後進行。當我在內容表單中包含primefaces或ajax代碼時,問題開始出現。當我刪除特定的代碼時,註銷按預期工作。
註銷形式主要模板templateUser.xhtml
:
<h:form id="logout">
<h:commandLink action="#{tenantController.customLogout(e)}"
id="logoutBtn" immediate="true" value="Logout" />
</h:form>
的支持bean:
public String customLogout(ActionEvent e) {
return "login.xhtml";
}
FYI:在customLogout方法還包括會議的破壞,但我只是把頁面重定向這裏。
在客戶端模板,模板被指定爲:
<ui:composition template="/templateUser.xhtml">
對於JSF庫,目前使用JSF 2.0
解決方案我已經試過:
immediate="true"
- put
id
for form和commandLink(模板形式&內容fo rm) - 使用primefaces(
<p:commandLink>
with ajax false ==>這個回到上一頁;後臺Bean中的方法未運行。
下面是幾個環節我想在這裏:
- commandButton/commandLink/ajax action/listener method not invoked or input value not updated
- How can I prevent page refresh on click of <h:commandLInk>
- JSF PrimeFaces p:commandLink won't redirect to new page?
感謝您的提示,BalusC。將嘗試解決方案。 – wanw84