gpt4 book ai didi

java - Primefaces confirmDialog 在 actionListener 中什么都不做

转载 作者:搜寻专家 更新时间:2023-10-31 19:47:46 25 4
gpt4 key购买 nike

我有一个 comandButton,它调用一个必须消除用户的 confirmDialog,但它从不调用它的 actionListener 中的方法。

这是代码:

<p:dialog id="dialogEditar" widgetVar="dialogEditar" header="#{bundle_usuarios.usuarios_titulo_edicion}" resizable="false">
<p:panelGrid id="panelEditar"
<p:row>
<p:column>
<p:commandButton id="btModificar" type="submit" actionListener="#{usuariosMB.modificarUsuario()}"
value="#{bundle_general.general_modificar}" update="formEditar" rendered="#{usuariosMB.permisoCtMenu}"/>
</p:column>
<p:column colspan="7">
<p:commandButton id="btEliminar" type="button" onclick="confirmation.show()"
value="#{bundle_general.general_eliminar}"/>
</p:column>
</p:row>
</p:panelGrid>
<p:confirmDialog appendToBody="true" id="confirmDialog" message="#{bundle_usuarios.usuarios_confirma}"
header="#{bundle_usuarios.usuarios_titulo_confirma_eliminar}" severity="alert" widgetVar="confirmation">
<p:commandButton id="confirm" type="submit" value="#{bundle_usuarios.usuarios_aceptar_eliminar}"
update="dialogEditar, formEditar" oncomplete="confirmation.hide()"
actionListener="#{usuariosMB.eliminarUsuario()}" rendered="#{usuariosMB.permisoCtMenu}" />
<p:commandButton id="decline" value="#{bundle_usuarios.general_cancelar}" onclick="confirmation.hide()" type="button" />
</p:confirmDialog>
</p:dialog>

如果我输入相同的代码,但没有 confirmDialog,它会毫无问题地运行和删除用户。

运行成功的代码如下:

<p:dialog id="dialogEditar" widgetVar="dialogEditar" header="#{bundle_usuarios.usuarios_titulo_edicion}" resizable="false">
<p:panelGrid id="panelEditar"
<p:row>
<p:column>
<p:commandButton id="btModificar" type="submit" actionListener="#{usuariosMB.modificarUsuario()}"
value="#{bundle_general.general_modificar}" update="formEditar" rendered="#{usuariosMB.permisoCtMenu}"/>
</p:column>
<p:column colspan="7">
<p:commandButton id="btEliminar" type="submit" actionListener="#{usuariosMB.eliminarUsuario()}" value="#{bundle_general.general_eliminar}" update="dialogEditar, formEditar" rendered="#{usuariosMB.permisoCtMenu}"/>
</p:column>
</p:row>
</p:panelGrid>
</p:dialog>

另一件事,当我点击带有 id="confirm"的 commandButon 时,confirmDialog 永远不会消失,它在窗口中保持阻塞状态。

如果您需要更多详细信息,请告诉我哪个需要。请问,有什么建议吗?谢谢!

最佳答案

如果您的对话框放置在 h:form 中,那么从该表单执行并将 h:form 放置在对话框中是一个很好的练习。你仍然可以通过 widgetVar 访问

<h:form>
....
</h:form>

<p:dialog>

<h:form>
...
<p:commandButton />
<h:form>

</p:dialog>

关于java - Primefaces confirmDialog 在 actionListener 中什么都不做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13642830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com