Dar*_*alk 5 java jsf primefaces
我有一个comandButton
调用a 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>
Run Code Online (Sandbox Code Playgroud)
如果我使用相同的代码,没有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>
Run Code Online (Sandbox Code Playgroud)
另一件事,当我点击id ="confirm"的commandButon时,confirmDialog永远不会消失,它会在窗口中被阻止.
如果您需要更多细节,请说明我需要的内容.请问,有什么建议吗?谢谢!
如果您的对话框放置在 ah:form 中,那么从该表单执行并将 ah:form 放置在对话框内是一个很好的练习。您仍然可以通过 widgetVar 访问
<h:form>
....
</h:form>
<p:dialog>
<h:form>
...
<p:commandButton />
<h:form>
</p:dialog>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5338 次 |
最近记录: |