JSF按钮onclick事件调用bean方法

时间:2012-08-22 02:34:16

标签: jsf

在JSF 2中,我需要在显示对话框之前准备好数据。在下面的代码中,方法'newAuto'在viewscoped托管bean中定义。单击一次按钮,我想先调用此方法,然后显示对话框。

我尝试了很多方法,都失败了。

感谢

<h:commandButton  type="button" value="Add Dialog"   onclick="jsf.ajax.request(this, event, {execute: 'newAuto'});  autoDialog2.show(); return false;" />

1 个答案:

答案 0 :(得分:3)

您应该使用<f:ajax>标记,然后使用其onevent属性。

<h:commandButton value="Add Dialog" action="#{bean.newAuto}">
    <f:ajax onevent="function(data) { if (data.status == 'success') autoDialog2.show(); }" />
</h:commandButton>

也许您还想将render="someDialogId"添加到<f:ajax>,这应该事先更新对话框的内容。