单击p:commandLink打开p:confirmDialog

时间:2012-11-15 10:43:46

标签: java jsf dialog primefaces commandlink

我试图在点击PrimeFace CommandLink时打开PrimeFace ConfirmDialog。但是当点击链接时,对话框会暂时打开,但会立即消失,我猜这个页面正在提交。这是代码:

<p:commandLink value="Delete" onclick="confirmation.show()"  />

<p:confirmDialog message="Are you sure, you want to delete ?"  header="Initiating deleting process"  widgetVar="confirmation">  
    <p:commandButton value="Yes Sure"  onclick="confirmation.hide()"  actionListener="#{adminCtrl.deleteUserById}" update="userData" >
        <f:attribute name="delete" value="#{user.userId}" />
    </p:commandButton>  
    <p:commandButton value="Not Yet" onclick="confirmation.hide()" type="button" />   
</p:confirmDialog>

如何通过这种方式使对话框保持打开状态?

PrimeFace ShowCase示例处理CommandButton并且这项工作正常,但我的要求是使用CommandLink。

有可能吗?任何指针都对我很有帮助。

1 个答案:

答案 0 :(得分:7)

使用

<p:commandLink value="Delete" onclick="confirmation.show();return false;"  />

<p:commandLink value="Delete" onclick="confirmation.show()" type="button"/>
这样你可以避免提交