2016-12-28 12 views
0

私はこれについて助けが必要です。私はp:commandButtonを通してp:ダイアログを呼び出す 'フォーム'を持っています。そのp:dialogには他のp:commandButtonが含まれていますが、第2のボタンは何もしません。私にとっては奇妙です。primefacesコマンドボタンは動作しません

コード:時間の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> 

Iは、pを交換するいくつかの試みを行っているコマンドボタンを同じ結果を有します。事前に

An image showing what code outs

感謝。

+0

は、私はあなたがボタンがクリックされた後にアクションを確認しようとしていると思います。そのためには、primefacesによって提供される[ConfirmDialog](http://www.primefaces.org/showcase/ui/overlay/confirmDialog.xhtml)コンポーネントを使用する必要があります。 – cdaiga

+0

はい、そうです。しかし、私はカスタムアクションを行う必要があります。それは私がこの方法を選んだ理由です。タックス –

答えて

0

私は問題を発見し、トピックに関連している:私の場合はBacking beans (@ManagedBean) or CDI Beans (@Named)?

私は混乱していました。 CDIアノテーションとマネージドBeanのJSFアノテーションを混在させて、奇妙な動作を起こしていました。最後に、JSFアノテーションだけを修正しました。

コア:JSF 2.0、PrimeFaces 5.0、GlassFishの4.1

関連する問題