2013-07-19 16 views
0

我需要使用<h:commandButton type="submit">以下形式來執行支持bean方法:我可以寫actionListner或行動的<h:的commandButton類型=提交>

<h:form id="login" prependId="false" onsubmit="document.getElementById('login').action='j_security_check';"> 

    <h:commandButton type="submit"> 

</h:form> 

我試圖界定action以及actionListner但是,從不執行backing bean方法。我該如何實現這個目標?

回答

0

它失敗了,因爲您已將表單操作URL更改爲非JSF URL。該URL從不碰到FacesServlet,因此它將無法解碼,排隊和調用命令按鈕操作。完全擺脫onsubmit屬性(最好也是prependId)。然後,它將提交到適當的JSF URL並調用命令按鈕操作。

<h:form id="login"> 

如果你打算使用JSF進行容器管理的認證,然後前往以下答案:Performing user authentication in Java EE/JSF using j_security_check來學習如何使用j_security_check正確,而不需要一個JSF命令按鈕的動作,也做編程方式一個JSF命令按鈕的操作方法,而不是試圖直接提交到j_security_check

<h:commandButton type>默認方式已經到submit。只是不要重複默認設置,並將其保存在代碼中以保持簡潔和清潔。

相關問題