2010-03-03 41 views
1

我有一個簡單的HTMLCommandButton,我想重新渲染到另一個組件。 我知道一個簡單的方法來做到這一點 - 添加一個ajax支持對象,並讓它在「onclick」事件上運行並重新渲染。- 如何在按鈕按下時重新渲染組件。 (聰明的方式?)

<h:commandButton value="Submit" action="#{actions.submitToDB}"> 
    <a4j:support event="onclick" reRender="Button0" /> 
</h:commandButton> 

我想通必須有與在HTML命令按鈕的*屬性做到這一點更聰明的方式,但我不知道寫什麼引起重新呈現(使用這種方法指控)

謝謝!

回答

4

不,在普通情況下沒有更智能的方法。這是做到這一點的方法。您將必須執行以下操作

  • 設置type="button"在按鈕上。
  • <a4j:support>上設置動作而不是在按鈕上。

在這種特殊情況下(按鈕)的快捷方式將是:

<a4j:commandButton value="Submit" 
     action="#{actions.submitToDB}" reRender="Button0" /> 
+0

謝謝。我想我可以堅持支持對象。 – Ben 2010-03-03 10:51:59

+0

@Ben看到我的更新。你必須做更多的事情才能使用支持標籤。我建議'a4j:commandButton' – Bozho 2010-03-03 10:56:05

+0

+1;也許這就是你最後評論的意思,但我不確定。看來使用'a4j:commandButton'而不是'h:commandButton'就是爲我解決了這個問題,因爲這使得UI停止了一個完整的POST +刷新週期。 – 2012-07-30 02:10:21

相關問題