Pessoal, estou com um probleminha…
Estou criando uma pagina (JSF) de um cadastro simples.
Está tudo funcionando, após inserir o dado na tabela, é direcionado a uma outra página dizendo que o cadastro ocorreu com sucesso…
Nessa página há um botão de voltar, porém, quando ele volta na página inicial do cadastro, vem com todos os campos preenchidos com os dados cadastrados :S
Ja tentei de várias maneiras, mas não consiguir limpar os campos…
Sou novo nessa área, estou começando agora e gostaria da ajuda de vocês…
Desde já obrigado…
Entendi em partes a lógica…
Porém, como vou colocar essa ação no botão inserir? sendo que ele ja tem a ação #{cadastro.inserir}
?
A
aluisiodsv
Usar o javascript não é uma boa idéia não …
Além de limpar o campo no MB pode também verificar seu escopo.
Um escopo de request não dura até a próxima requisição, o que provavelmente é o que você precisa !
A
aluisiodsv
Pode tentar colocar as ações de limpar no fim do método de inserção !
T
Thiago_Siqueira
Obrigado a todos, resolvi o problema limpando os campo no método de inserir…
Acredito não ser o melhor método, ou o mais certo, mas vou continuar pesquisando…
Vlw
C
Carlos_ds_jar
Thiago Siqueira:
Obrigado a todos, resolvi o problema limpando os campo no método de inserir…
Acredito não ser o melhor método, ou o mais certo, mas vou continuar pesquisando…
Vlw
De uma olhada em padroes de projeto aí vc encontrará uma boa solução!
J
Java_Lover
Thiago Siqueira:
Entendi em partes a lógica…
Porém, como vou colocar essa ação no botão inserir? sendo que ele ja tem a ação #{cadastro.inserir}
?
Vc disse antes que “depois” de inserido no BD, vc clicava em um botão voltar.
O que fiz foi propor uma implementação para esse botão.
aluisiodsv:
Além de limpar o campo no MB pode também verificar seu escopo.
Um escopo de request não dura até a próxima requisição, o que provavelmente é o que você precisa !
Eu uso session e realizo a manutenção do lifeCycle de meus dados transitórios.
Thiago Siqueira:
Obrigado a todos, resolvi o problema limpando os campo no método de inserir…
Acredito não ser o melhor método, ou o mais certo, mas vou continuar pesquisando…
Vlw
Não é a opção correta, pois se ocorrer algum erro na inserção no BD vc perde os dados transitórios.
Ratificando, amadureça o exemplo didático do resetForm() e implemente um lifeCycle próprio para controle de seus dados transitórios.
A chamada ao método resetForm() deve ser obrigatória na inicialização da tela, logo, fluxos para “Limpar” e “Voltar” realizam essa chamada.