これに関する投稿が十分にあることは知っていますが、特定の問題に対する正しい答えが見つかりませんでした。また、私は多くのプログラミング言語を使用してきたことを認めなければなりませんが、jsf を使用するのは初めてです。
主な問題は、2 つの p:commandbutton を含むフォームを作成しようとしていることです。最初のものは何かを登録しようとしており、もう 1 つはダイアログをポップアップすると表示されます。ダイアログを表示するためのコードを削除すると正常に動作しますが、追加するとどのメソッドも呼び出されません。あなたが私を助けてくれることを願っています。
<p:dialog id="dlgAgregarProducto" header="Agregar Producto" widgetVar="dlgAgregarProducto" modal="true" width="800" height="300">
<h:outputText value="Código"/>
<h:inputText value=" "/>
<h:outputText value="Nombre"/>
<h:inputText value=" "/>
<p:commandButton id="btnAgregarProducto" value="Agregar" action="#{productoController.agregarProducto}" type="button"/>
<p:dataTable id="tblProductos2" value=""
var="prov"
style="margin: 0 auto;"
paginator="true" rows="10">
<p:column style="width:24%">
<f:facet name="header">
<h:outputText value="Código"/>
</f:facet>
<h:outputText value=""/>
</p:column>
<p:column style="width:24%">
<f:facet name="header">
<h:outputText value="Foto"/>
</f:facet>
<h:outputText value=""/>
</p:column>
<p:column style="width:24%">
<f:facet name="header">
<h:outputText value="Descripción"/>
</f:facet>
<h:outputText value=""/>
</p:column>
<p:column style="width:24%">
<f:facet name="header">
<h:outputText value="Marca"/>
</f:facet>
<h:outputText value=""/>
</p:column>
<p:column style="width:24%">
<f:facet name="header">
<h:outputText value="Modelo"/>
</f:facet>
<h:outputText value=""/>
</p:column>
<p:column style="width:24%">
<f:facet name="header">
<h:outputText value="Precio"/>
</f:facet>
<h:outputText value=""/>
</p:column>
</p:dataTable>
</p:dialog>
<p:commandButton id="registrar" value="Registrar" action="#{promocionController.registrarPromocion}" style="margin-left:370px"/>
</h:form>
</h:body>