在JSF中 - 如何在按下按钮时重新渲染组件.(聪明的方式?)

Ben*_*Ben 1 html jsf richfaces

我有一个简单的HTMLCommandButton,我想引起另一个组件的重新渲染.我知道一种简单的方法 - 添加一个ajax支持对象并让它在"onclick"事件和rerender上运行.

<h:commandButton value="Submit" action="#{actions.submitToDB}">
  <a4j:support event="onclick" reRender="Button0" />
</h:commandButton>
Run Code Online (Sandbox Code Playgroud)

我认为必须有一个更聪明的方法来处理HTML CommandButton的on*属性,但我不确定写什么导致重新渲染(使用这个所谓的方法)

谢谢!

Boz*_*zho 5

不,在常见情况下没有更聪明的方法.这是做到这一点的方法.您必须执行以下操作

  • 设置type="button"在按钮上.
  • 设置动作<a4j:support>而不是按钮本身.

在这种特殊情况下(按钮),快捷方式将是:

<a4j:commandButton value="Submit"
       action="#{actions.submitToDB}" reRender="Button0" />
Run Code Online (Sandbox Code Playgroud)