Tenho um formulário, depois que se cadastra ele envia os dados cadastra e limpa o formulário.Só que se a pessoa atualizar a página vai dar aquele mensagem que vai ocorrer reenvio de informações se quer continuar.Se eu clico em continuar ele cadastra de novo.Tem como evitar isso?Algo como limpar a sessão depois de enviado o formulário?
kara,
provavelmente vc deve ter colocado tudo na mesma página, o formulario e o código para fazer a inserção dos dados na sua base de dados, faz assim
uma página como um formulario e o action do formulario apontando para uma segunda página onde vai acontecer a inserção de dados, depois de inserir os dados , vc volta para a página com o formulario…
isso vai resolver seu problema
flwwww
Na página de cadastro está assim:
Eu chamo o bean para salvar
[code] <h:form>
<h:panelGrid columns="2">
<h:outputText value="Nome do Cargo: " styleClass="fonte"/>
<h:inputText id="nome" value="#{cargoBean.cargo.nome}" styleClass="grande"/>
<h:outputText value="Observações: " styleClass="fonte"/>
<h:inputTextarea id="complemento" value="#{cargoBean.cargo.complemento}" cols="30" rows="5"/>
</h:panelGrid>
<h:panelGrid columns="5">
<h:commandButton action=[b]"#{cargoBean.salvar}"[/b] image="imagens/save.png" title="Salvar" />
<h:commandButton action="paginaInicial" image="imagens/home.png" title="Voltar para a pagina principal"/>
<h:commandButton action="listaCargos" image="imagens/script.png" title="Lista de cargos"/>
<rich:spacer width="50"/>
<rich:messages layout="table" infoLabelClass="messageInfo" errorLabelClass="messageError" styleClass="mensagem">
<f:facet name="infoMarker">
<h:graphicImage value="imagens/ok.png"/>
</f:facet>
<f:facet name="errorMarker">
<h:graphicImage value="imagens/error.png"/>
</f:facet>
[/code]
O método salvar do bean:
Será que é por causa desse retorno null?
[code] public String salvar(){
//Cria a sessão com o banco e a transação
Session session = HibernateUtil.getSession();
Transaction t = session.beginTransaction();
try{
//salva o objeto curso e se der tudo certo comita e transacao
session.merge(cargo);
t.commit();
SessionUtil.addSuccessMessage(“OperacaoSucesso”);
//limpa o objeto aluno para novas inserções
cargo = new Cargo();
} catch(Exception ex){
//se ocorrer algo errado cancela a transacao
t.rollback();
SessionUtil.addErrorMessage(“OperacaoFracasso”);
} finally{
//fecha a secao com o banco de dados
session.close();
}
return null;
}[/code]
Fala Camarada Rafael Viana,
Como você consegui resolver seu problema de atualização de pagina???