Problema com tag <f:ajax> [RESOLVIDO]

0 respostas
jpcasati

Olá,

O meu problema é o seguinte:

Eu tenho campos nbo form que quando preencho e clico em salvar, salva no banco de dados e renderiza a tabela na mesma página.
O problema que estou enfrentando é que ele renderiza a tabela antes de salvar no banco, então a tabela fica defasada da última inserção. Se insiro outro registro, o anterior aparece, sempre com o atraso da última inserção (só a última não aparece).

Minha tela:

<f:view>
                <h:form>
                    <h:outputText value="Nome: "/>
                    <h:inputText value="#{ProfessorMB.professor.nome}"/> <br/>
                    <h:outputText value="Login: "/>
                    <h:inputText value="#{ProfessorMB.professor.login}"/> <br/>
                    <h:outputText value="Senha: "/>
                    <h:inputText value="#{ProfessorMB.professor.senha}"/> <br/>
                    <h:outputText value="E-Mail: "/>
                    <h:inputText value="#{ProfessorMB.professor.email}"/> <br/>

                    <h:commandButton value="Inserir" action="#{ProfessorMB.inserir}">
                        <f:ajax execute="@form" render="prof"/>
                    </h:commandButton>

                    <h:dataTable id="prof"
.......

Meu Bean:

public void listar(){
        ProfessorDAO profDAO = new ProfessorDAO();
        setProfessores(profDAO.consultarLista());
    }

    public String inserir(){
        ProfessorDAO profDAO = new ProfessorDAO();
        if(profDAO.salvar(getProfessor()))
            return "true";
        listar();
        return "false";
    }

Não tem regras de navegação no faces-config.

Agradeço desde já!

EDIT: Desculpem-me, foi um errto infantil no Bean, ele dava o return antes do método listar();

Criado 1 de abril de 2010
Respostas 0
Participantes 1