Formulário quando atualiza a página cadastra de novo

3 respostas
R

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?

3 Respostas

thiago_rainmaker

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

R

Na página de cadastro está assim:

Eu chamo o bean para salvar

<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>

O método salvar do bean:
Será que é por causa desse retorno null?

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;
    }
G

Fala Camarada Rafael Viana,

Como você consegui resolver seu problema de atualização de pagina???

Criado 16 de outubro de 2008
Ultima resposta 11 de nov. de 2008
Respostas 3
Participantes 3