Então, quando fazem o deposito, o alert abre e dá tudo certo.
O que eu queria saber é se os valores dos campos dos formularios podem ser zerados assim que o alert for aberto.
a pessoa digita:
valor: 100
data: 10/01/2008
e clica em depositar, entao abre o alert ! porem valor: e data: ficam preenchidos ainda, gostaria de zerá-los… há como?
Eu li a respeito do argumento reRender do a4j:commandButton, que recebe uma lista com os ids dos campos a serem recarregados. Pesquise por isso.
renan_
Entao, eu tentei usar o reRender, mas continua com o mesmo valor, se digitei 120 no valor , quando pressiono Depositar vira 120.0 … pois 120.0 é o valor do atributo na sessao relacionada ao inputText …
Alguma sugestão ?
CintiaDR
Pergunta idiota: na sua action, vc seta deposito.deposito.valor e deposito.deposito.data para, sei lá, null?
Já tentou colocar quaisquer outros valores? Posta o código da action e do JSP com reRender pra gente ver.
renan_
CintiaDR:
Pergunta idiota: na sua action, vc seta deposito.deposito.valor e deposito.deposito.data para, sei lá, null?
Já tentou colocar quaisquer outros valores? Posta o código da action e do JSP com reRender pra gente ver.
packagebr.com.renanmartins;importjava.util.Date;/* * To change this template, choose Tools | Templates * and open the template in the editor. *//** * * @author Renan */publicclassDeposito{privateintdepositoID;privatefloatvalor;privateDatedata;publicDeposito(){}publicDeposito(intdepositoID,floatvalor,Datedata){this.depositoID=depositoID;this.valor=valor;this.data=data;}publicintgetDepositoID(){returndepositoID;}publicvoidsetDepositoID(intdepositoID){this.depositoID=depositoID;}publicfloatgetValor(){returnvalor;}publicvoidsetValor(floatvalor){this.valor=valor;}publicDategetData(){returndata;}publicvoidsetData(Datedata){this.data=data;}}
Aí está o codigo do meu deposito.java
e aqui meu Deposito controller:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */packagebr.com.renanmartins.controller;importbr.com.renanmartins.Deposito;importbr.com.renanmartins.dao.DepositoDAO;importjavax.faces.model.DataModel;importjavax.faces.model.ListDataModel;/** * * @author Renan */publicclassDepositoC{privateDepositodeposito;privateDataModelmodel;publicStringnovoDeposito(){this.deposito=newDeposito();return"novo_dep";}publicDepositogetDeposito(){returndeposito;}publicvoidsetDeposito(Depositodeposito){this.deposito=deposito;}publicDataModelgetTodas()throwsException{DepositoDAOdao=newDepositoDAO();model=newListDataModel(dao.todosDepositos());returnmodel;}publicStringcreate()throwsException{DepositoDAOdao=newDepositoDAO();dao.salvar(deposito);return"sucesso_ins";}}
hmmm.. como o reRender funciona ? ele faz com que o bean seja instancializado novamente ?
Renan
CintiaDR
Não, creio que não faz nenhuma nova instância. Ele RENDERIZA novamente os campos, ué, com o que está no bean.
public String create() throws Exception{
DepositoDAO dao = new DepositoDAO();
dao.salvar(deposito);
deposito.setData(null);
deposito.setValor(null);
return "sucesso_ins";
}