在JSF 2中,我需要在显示对话框之前准备好数据。在下面的代码中,方法'newAuto'在viewscoped托管bean中定义。单击一次按钮,我想先调用此方法,然后显示对话框。
我尝试了很多方法,都失败了。
感谢
<h:commandButton type="button" value="Add Dialog" onclick="jsf.ajax.request(this, event, {execute: 'newAuto'}); autoDialog2.show(); return false;" />
答案 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>
,这应该事先更新对话框的内容。