primefaces命令按钮不采取行动

时间:2016-12-28 01:34:43

标签: jsf primefaces

我需要帮助。我有一个'form',通过p:commandButton调用p:对话框。那个p:对话框包含其他p:commandButton,但是第二个按钮没有采取任何动作,这对我来说很奇怪,因为第一个按钮工作正常。

代码:

<ui:define name="body">            
        <br/>
        <br/>
        <br/>
        <p:ajaxStatus onstart="PF('statusDialog').show()" onsuccess="PF('statusDialog').hide()" />
        <p:dialog widgetVar="statusDialog" modal="true" draggable="false" closable="false" resizable="false" showHeader="false">
            <p:graphicImage value="/resources/Images/ajax-loader.gif" alt="Por favor espere..." />
        </p:dialog>

        <h:form id="BuscarEmpresaForm">
            <h:panelGroup id="display">
                <h:panelGrid columns="2" style="margin-left: 10px;">
                    <p:outputLabel value="#{bundle.BuscarEmpresaBuscarLabel}" />  
                    <h:outputLabel/>
                    <h:selectOneRadio id="idBusquedaRadio" value="#{cupoController.radioButtonBusqueda}">
                        <f:selectItem itemLabel="#{bundle.BuscarEmpresaCodigoLabel}" itemValue="Codigo" />
                        <f:selectItem itemLabel="#{bundle.BuscarEmpresaNombreLabel}" itemValue="Nombre" />
                    </h:selectOneRadio>
                    <h:outputLabel/>
                    <p:inputText id="empresa" value="#{cupoController.empresaTextoBusqueda}" required="true" requiredMessage="El campo es requerido"/>  

                    <!--THIS BUTTON WORKS-->

                    <p:commandButton value="Buscar" actionListener="#{cupoController.prepareCreateEmpresa()}" action="#{cupoController.searchEmpresa()}" oncomplete="PF('dlg1').show();" update=":confirmDialogEmpresa">                            
                    </p:commandButton>   
                    <p:message  for="empresa"/>

                </h:panelGrid>
            </h:panelGroup>
        </h:form>
        <p:dialog id="dialog1" header="Mensaje" widgetVar="dlg1" minHeight="40" modal="true" appendTo="@(body)">
            <h:form id="confirmDialogEmpresa">
                <h:panelGroup id="display">
                    <h:panelGrid columns="2" rendered="#{cupoController.selectedEmpresa.codcor != null}">
                        <p:outputLabel value="Empresa encontrada, Continuar?"/>
                        <h:outputLabel/>                             
                        <p:outputLabel value="Nombre: #{cupoController.selectedEmpresa.razonsocial}"/> 
                        <h:outputLabel/> 
                        <p:outputLabel value="RUC: #{cupoController.selectedEmpresa.ruc}"/> 
                        <h:outputLabel/> 

                         <!--THIS BUTTON DOES NOT WORK-->

                        <p:commandButton value="Si" action="#{cupoController.buscarCupo}" icon="ui-icon-check"/>
                        <p:commandButton value="No" onclick="dlg1.hide();" icon="ui-icon-close" update="@none"/>  
                    </h:panelGrid>
                    <h:panelGrid columns="2" rendered="#{cupoController.selectedEmpresa.codcor == null}" > 
                        <p:outputLabel value="Empresa no encontrada"/>
                        <h:outputLabel/> 
                        <p:messages />
                        <h:outputLabel/>
                        <p:commandButton value="Aceptar" onclick="dlg1.hide();" icon="ui-icon-close" update="@none"/>
                    </h:panelGrid>
                </h:panelGroup>
            </h:form>
        </p:dialog>

    </ui:define> 

我已经做了一些尝试,用h:commandButton代替p:commandButton,但结果相同。

An image showing what code outs

提前致谢。

1 个答案:

答案 0 :(得分:0)

我发现了问题并且与主题相关:Backing beans (@ManagedBean) or CDI Beans (@Named)?

在我的情况下,我很困惑。我将CDI注释与托管bean中的JSF注释相关联,产生了一种奇怪的行为。最后我修复了让JSF注释的问题。

核心:JSF 2.0,PrimeFaces 5.0,GlassFish 4.1