问题描述
您好,下午好,我有一个查询,我试图在jsf和primefaces中使用ajax执行2 InputText的算术运算,并在另一个InputText中显示结果,但是当我捕获并发送时,无法使它工作第二个inputText的数据,第一个用ajax变为零
codigo de l xhtml:
<h:form id="ventanacrearCompra" style=" border-color: #228B22; " styleClass="colordialogo" >
<p:dialog id="dialogcompra" header="Crear Compra" widgetVar="dlgcompra" width="380" height="270" resizable="false">
<h:panelGrid columns="3" cellpadding="5" id="formcompra">
<p:outputLabel for="cantidad" value="Cantidad Articulo:" style="color: #228B22"/>
<p:inputText id="cantidad" value="#{compraBean.compra.cantidadarticulo}" required="true" label="cantidad" style="border-color: #228B22; color: #228B22">
<p:ajax listener="#{compraBean.precioTotal()}" event="keyup" update="preciototal"/>
</p:inputText>
<p:message for="cantidad"/>
<p:outputLabel for="precio" value="Precio Compra:" style="color: #228B22"/>
<p:inputText id="precio" value="#{compraBean.compra.preciocompra}" required="true" label="precio" style="border-color: #228B22; color: #228B22">
<p:ajax event="keyup" update="preciototal" listener="#{compraBean.precioTotal()}"/>
</p:inputText>
<p:message for="precio"/>
<p:outputLabel for="preciototal" value="Precio total" style="color: #228B22"/>
<p:inputText id="preciototal" value="#{compraBean.preciototal}" required="true" label="preciototal" style="border-color: #228B22; color: #228B22"/>
<p:message for="preciototal"/>
<p:commandButton id="guardar" value="Registrar Proveedor" action="#{compraBean.registrarCompra()}" update=":frmbuscar:listacompra,formcompra" style="margin-left: 7.6px; border-color: #228B22; background: #FFFFFF;color: #228B22; margin-top: 15px" />
</p:dialog>
</h:form>
由ajax捕获的数据被发送到将要执行操作的Bean方法中
bean
Compra compra = new Compra();
public void precioTotal(){
double preciocompra =0;
int cantidad= 0;
preciocompra = preciocompra + compra.getPreciocompra();
cantidad = cantidad + compra.getCantidadarticulo();
System.out.println("precio compra "+preciocompra);
System.out.println("cantidad articulo "+cantidad);
//calcula el precio de compra
preciototal = preciocompra * cantidad;
System.out.println("resultado de la suma "+preciototal);
}
//getter and setter de preciototal
public double getPreciototal() {
return preciototal;
}
public void setPreciototal(double preciototal) {
this.preciototal = preciototal;
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)