2016-11-14 57 views
0

此的commandButton工作:爲什麼不與Ajax的命令按鈕的action屬性渲染

<h:commandButton id="button_updateIt" value="#{i18n.button_update_it}" 
    action="#{masterBean.update()}">   
</h:commandButton> 

這Ajax調用工作:

<h:commandButton id="button_updateIt" value="#{i18n.button_update_it}"> 
    <f:ajax event="click" render=":form_2:updateMe" />    
</h:commandButton> 

爲什麼action屬性與阿賈克斯不合並加工?

<h:commandButton id="button_updateIt" 
    value="#{i18n.button_update_it}" 
    action="#{masterBean.update()}"> 

    <f:ajax event="click" render=":form_2:updateMe" /> 

</h:commandButton> 

我使用JSF 2.1.1版和Java 1.7.0和GlassFish服務器3.1.2(建立23)

回答

1

爲什麼您使用的單擊事件?如果您正在使用該事件,則在調用操作方法之前,您的表單會被重新渲染。

您需要更改事件類型,或者您需要在f:ajax click事件中使用偵聽器,而不是commandButton中的操作。

<h:commandButton id="button_updateIt" 
    value="#{i18n.button_update_it}" 
    action="#{masterBean.update()}"> 

    <f:ajax render=":form_2:updateMe" /> 

</h:commandButton> 

<h:commandButton id="button_updateIt" 
    value="#{i18n.button_update_it}"> 

    <f:ajax event="click" listener="#{masterBean.update()}" 
     render=":form_2:updateMe" /> 

</h:commandButton> 
+0

我不知道如何做一個java的行動,並在頁面上顯示的數據的刷新。 例如我正在下載按鈕點擊的東西。 如果出現錯誤,應在按鈕下方顯示錯誤消息。 我不會知道如何刷新。 –

+0

您需要一個。看看這個問題:http://stackoverflow.com/questions/11029792/error-messages-on-page-with-the-hmessages-in-jsf – lastresort

+0

我做了一個頁面刷新工作。 [鏈接](http://stackoverflow.com/questions/16483214/how-can-i-reload-the-same-page-from-a-managedbean-in-jsf) Perhapse the event =「click」was測試多項選項後出現錯誤。 看起來不錯,我下次會測試一下。謝謝@lastresort –

相關問題