uow :lol: fiz igual o exemplo do rponte colocou e funcionou … com um manage bean limpar campos … dai coloquei os campos que precisavam ser limpos … dai coloquei o método em uma classa abstrata e coloquei para todas as minhas classes das entidades do DAO para herdarem … e soh coloquei os campos que deveriam ser limpos em cada uma …
Bom dia, alguém encontrou a solução para este problema? Estou com um problema similar: http://www.guj.com.br/posts/list/93554.java#500836
Que acabei criando dois forms na mesma página, me pareceu gambiarra, mas resolveu o problema, só não queria colocar em produção desta forma.
ps.: Nossa! Quando postei não tinha visto que você já havia resolvido, acabei vendo as mensagens anteriores e no desespero que estou coloquei a minha também.
De qualquer forma, do jeito que você fez não me atende pois tenho meus campos que são validados, mas…já existe outro tópico para isso.
Obrigado.
[quote=rponte]Se o problema é somente limpar os campos do managed bean eu sempre me utilizo de uma command button como:
<h:commandButton value="limpar" action="#{mbean.limpar}" immediate="true" />
E no managed bean eu simplesmente limpo os campos necessários:
public String limpar() {
this.nome = "";
this.listaDeRegistros = null;
return null;
}
Mas se por algum motivo isso não estiver funcionando com você, -o que eu acharia estranho-, então talvez isso te ajude,
http://wiki.apache.org/myfaces/ClearInputComponents
Abraços e boa sorte.[/quote]
Rafael e se no caso eu tivesse que resetar um formulário muito grande acima de 100 componentes, não posso setar vazio("") nos campos(isso prejudicaria muito quando for gerar um xml, pois iria com vazio, isso não pode),
e dar new não é muito viável pois são várias classes isso prejudicaria certo ? (PS. li em alguns blog de desenvolvedores)
preciso fazer com que os campos sejam como quando inicia a aplicação,
tem alguma sugestão ?
Tenho um problema semelhante que acontece quando ficam dados no validator. Se eu abrir e fechar o dialog eles reaparecem. Até eu não achar uma solução definitiva e simples estou usando document.forms[‘nomedoform’].reset(); em alguns oncomplete do meu código. Talvez ajude no seu caso.
Olá,
Algumas vezes simplesmente limpar os dados do managed bean e repintar o formulário não é suficiente para limpar os valores dos componentes, principalmente depois de algum erro de validação/conversão.
Sendo, sempre ao submeter um formulário para que o mesmo seja limpo você precisa limpar os dados no managed bean e também limpar os dados “sujos” da árvore de componentes. Limpar os dados do managed bean é bem simples, mas para limpar a árvore de componentes vocês podem se utilizar desse método: https://github.com/rponte/jsf-loja-project/blob/master/src/br/com/triadworks/loja/util/FacesUtils.java#L58
Um método que limpa um formulário seria semelhante a este,
Estou com um post em draft sobre o assunto, mas me falta tempo e um pouco de coragem para finaliza-lo
Um abraço.
<h:commandButton type="reset" value="Limpar" />
[quote=rponte]Olá,
Algumas vezes simplesmente limpar os dados do managed bean e repintar o formulário não é suficiente para limpar os valores dos componentes, principalmente depois de algum erro de validação/conversão.
Sendo, sempre ao submeter um formulário para que o mesmo seja limpo você precisa limpar os dados no managed bean e também limpar os dados “sujos” da árvore de componentes. Limpar os dados do managed bean é bem simples, mas para limpar a árvore de componentes vocês podem se utilizar desse método: https://github.com/rponte/jsf-loja-project/blob/master/src/br/com/triadworks/loja/util/FacesUtils.java#L58
Um método que limpa um formulário seria semelhante a este,
Estou com um post em draft sobre o assunto, mas me falta tempo e um pouco de coragem para finaliza-lo
Um abraço.[/quote]
valeuu Rafael, funcionou aqui, ficou umas coisas para trás aqui mas resolvemos…
Fico no aguardo do seus post, são muitos bons e referência para quem está aprendendo…