Hasta ahi todo funciona bien, el usuario da un alta, se registra en la base de datos, se limpian los campos del formulario y se muestra el mensaje correctamente.
El problema me surje cuando en lugar de usar los campos suelos en un h;form los uso en un panelgrid de primefaces.
Si uso el formulario como lo muestro abajo se registra la transaccion correctamente en la base de datos pero no se refresca la pagina por lo que no aparece el mensaje y tampoco se limpian los campos.
Código Java:
Ver original
<h:form style="max-width: 50%; border: solid 1px"> <p:panelGrid columns="2"> <h:outputText value=" Fecha de pago" /> <p:calendar value="#{gastoBean.fecha_pago}" required="true"/> <h:outputText value=" Moneda" /> <h:selectOneMenu id="moneda" value="#{gastoBean.moneda}" > <f:selectItems value="#{gastoBean.monedas}"></f:selectItems> </h:selectOneMenu> <h:outputText value="MOnto" /> <h:inputText value="#{gastoBean.monto}" required="true"/> <h:outputText value=" Descripcion" /> <h:inputText value="#{gastoBean.descripcion}" required="true"/> <h:outputText value=" Clasificacion" /> <h:inputText value="#{gastoBean.clasificacion}" required="true"/> </p:panelGrid> <p:commandButton action="#{gastoBean.registrarGasto()}" value="Registrar gasto" /> <br></br> <h:outputText value="#{gastoBean.mensaje}" /> </h:form>