P:selectOneMenu não seleciona com p:ajax

0 respostas
F

Bom dia pessoal,
estou rachando a cabeça aqui desde ontem e não sei o por que que não está funcionando o meu p:selectOneMenu, o problema é que tenho um quase identico, e funciona normal..

Meu p:selectOneMenu:
<p:selectOneMenu value="#{produtosBean.tabela}" converter="converterTabela">
                                    <f:selectItem itemLabel="Selecione" />
                                    <f:selectItems value="#{produtosBean.tabelas}" var="t" itemValue="#{t}" itemLabel="#{t.cli_id != NULL ? 'Cliente:' : 'Estado:'} #{t.cli_id != NULL ? t.cli_id.cli_razao : t.est_id.est_nome}" />
                                    <p:ajax listener="#{produtosBean.atualizaTabela}" event="change" update=":detalhesProduto:panelTabela" />
                                </p:selectOneMenu>
Meu converterTabela:
@FacesConverter(value = "converterTabela")
public class ConverterTabela implements Converter {
    @Override
    public Object getAsObject(FacesContext context, UIComponent component, String value) {
        if (value != null && !value.equals("")) {
            TabelaDao tabelaDao = new TabelaDao();
            return tabelaDao.getTabelaById(Long.valueOf(value));
        }
        return null;
    }

    @Override
    public String getAsString(FacesContext context, UIComponent component, Object value) {
        if (value instanceof Tabela) {
            Tabela tab = (Tabela) value;
            return String.valueOf(tab.getTab_id());
        }
        return "";
    }
}
Meus métodos:
public void atualizaTabela(){
        System.out.println("Atualizando tabela...");
}
public void setTabela(Tabela tabela) {
        this.tabela = tabela;
        System.out.println("Set tabela:" + tabela.getEst_id().getEst_nome());
}

Testes realizados:
1º Se eu seleciono um item no selectOneMenu, nem o atualizaTabela() e nem o setTabela() é acionado...
2º Se no converterTabela no metodo "public Object getAsObject" eu deixo só um return null; ele aciona o atualizarTabela()...
3º Eu já conferi que no converter onde busca o Objeto no meu banco (TabelaDao), ele realmente retorna um objeto do tipo (Tabela)...

Estou sem saber o que fazer... Nem imagino agora o que posso fazer para tentar arrumar...

Meu TabelaDao:
public Tabela getTabelaById(Long id) {
        currentSession = HibernateUtil.getSessionFactory().getCurrentSession();
        return (Tabela) currentSession.load(Tabela.class, id);
    }
Obrigado a todos pela atenção! Abraço!
Criado 12 de dezembro de 2012
Respostas 0
Participantes 1