Boa tarde pessoal!
Eu tenho uma tela de cadastro. O formulário é “lincado” com uma bean.
Depois que eu cadastro um registro eu aperto F5 e ele cadastra a mesma coisa no banco…como eu faço pra ele “limpar” o ultimo cadastro?
Desde já agradeço!
Boa tarde pessoal!
Eu tenho uma tela de cadastro. O formulário é “lincado” com uma bean.
Depois que eu cadastro um registro eu aperto F5 e ele cadastra a mesma coisa no banco…como eu faço pra ele “limpar” o ultimo cadastro?
Desde já agradeço!
Você está trabalhando com quais FrameWorks ?
JSF + PrimeFaces
se estiver usando o jsf tenta o @RequestScoped no bean ou @ViewScoped (uso sempre view)
Após gravar você pode também instanciar novamente seu objeto. Não muito recomendado.
Ou limpando o form assim:
UIForm form = (UIForm) context.getViewRoot().findComponent("seuform");
cleanSubmittedValues(form);
[code]private void cleanSubmittedValues(UIComponent component) {
if (component instanceof EditableValueHolder) {
EditableValueHolder evh = (EditableValueHolder) component;
evh.setSubmittedValue(null);
evh.setValue(null);
evh.setLocalValueSet(false);
evh.setValid(true);
}
if (component.getChildCount() > 0) {
for (UIComponent child : component.getChildren()) {
cleanSubmittedValues(child);
}
}
}[/code]
Ou zera a variavel após o envio.
tentei de tudo mais nao deu ainda :S
Olá,
Esse conselho vale para qualquer framework e qualquer linguagem, e é adequado para seu problema:
Quando o usuario dá um F5 no browser, a última solicitação realizada é sempre re-enviada ao servidor. Não importa qual é a tela que ele está vendo agora, nem com quais dados está preenchida, e o pior: não importa se essa solicitação duplicada causará algum efeito ruim. O browser sempre envia uma solicitação idêntica à anterior.
No caso, é como se o usuario estivesse preenchendo e enviando o formulario de inclusão tudo de novo.
Por isso, os POSTs que alteram o sistema não devem gerar uma página como retorno, e sim redirecionar para uma outra.
Assim:
Esse padrão é conhecido como Redirect After Post. Faça uma pesquisa no Google que tem várias coisas sobre o assunto.
E, só pra ter certeza, se vc tiver alguma dificuldade com os conceitos de Forward e Redirect recomendo este artigo: http://www.rponte.com.br/2008/07/12/repitam-comigo-redirect-nao-e-forward/
(só estou dizendo porque nao sei qual seu nivel de experiencia, mas se vc já souber pode ser util para outros)