Ajuda com ajax no form jsf

Olá,tenho uma tela de cadastro de usuários,quando digite o CPF e da tab ele preenche o form automático blz, mas quando vou fazer essa pesquisa pela segunda vez e do o tab ele carrega o gif mas traz a tela em branco. alguém tem alguma ideia do que pode ser?

—Meu form—
<p:panel header=“Cadastro de Usuarios” >
<p:panel>
<p:commandButton id=“btnNovo” value=“Novo” disabled="#{usuarioMB.statusNovo}" icon=“ui-icon-document” action="#{usuarioMB.novo()}" update=“formCadastro” styleClass=“buttonCadastro” style=“width: 125px” />
<p:commandButton id=“btnPesquisar” value=“Pesquisar” disabled="#{usuarioMB.statusPesquisar}" action="#{usuarioMB.pesquisar()}" styleClass=“buttonNormal” style=“width: 125px” onclick=“PF(‘dialogUsuario’).show();” type=“button” />
<p:commandButton id=“btnSalvar” value=“Salvar” disabled="#{usuarioMB.statusSalvar}" styleClass=“buttonNormal” style=“width: 125px” action="#{usuarioMB.salvar()}" update=“formCadastro” />
<p:commandButton id=“btnCancelar” value=“Cancelar” disabled="#{usuarioMB.statusCancelar}" action="#{usuarioMB.cancelar()}" styleClass=“buttonNormal” update =":formCadastro" style=“width: 125px” />
</p:panel>

            <p:panel id="cadUsuario">
                <div class="row">
                    <div class="col-lg-4" style="width: 28% ">
                        <p:outputLabel for="dbCPF" value="CPF" styleClass="textNormal"/>
                        <p:inputMask id="dbCPF" value="#{usuarioMB.usuario.CPF}" mask="999.999.999-99" style="width: 80%" readonly="#{usuarioMB.somenteLeitura}" styleClass="inputNormalSemQuebra">
                            <p:ajax  event="blur" listener="#{usuarioMB.validaCPF}" update="@form"/>
                        </p:inputMask> 
                    </div>

                    <div class="col-lg-4" style="width: 22%; margin-left: 0">
                        <p:outputLabel for="dbRg" value="RG" styleClass="textNormal"/>
                        <p:inputText id="dbRg"  value="#{usuarioMB.usuario.RG}"  styleClass="inputNormal" onchange="#{usuarioMB.statusSalvar = false; usuarioMB.statusCancelar = false}" >
                            <p:ajax event="change"  update="btnSalvar,btnCancelar"/>
                        </p:inputText>
                    </div>


                    <div class="col-lg-4" style="width: 46%; margin-left: 0%">
                        <p:outputLabel for="dbNome" value="Nome" styleClass="textNormal"/>
                        <p:inputText id="dbNome"  value="#{usuarioMB.usuario.nome}" styleClass="inputNormal" maxlength="50" onchange="#{usuarioMB.statusSalvar = false; usuarioMB.statusCancelar = false}" >
                            <p:ajax event="change"  update="btnSalvar,btnCancelar"/>
                        </p:inputText>
                    </div>
                </div>

                <div class="row" style="margin-top: 1%">

                    <div class="col-lg-2" style="width: 23%">
                        <p:outputLabel for="dbNascimento" value="Data de Nascimento" styleClass="textNormal"/>
                        <p:calendar id="dbNascimento" locale="pt_BR" mask="true"  value="#{usuarioMB.usuario.dataNasc}" pattern="dd/MM/yyyy" showOn="false" styleClass="myCalendar"  onchange="#{usuarioMB.statusSalvar = false; usuarioMB.statusCancelar = false}" >
                            <p:ajax event="change"  update="btnSalvar,btnCancelar"/> 
                        </p:calendar>
                    </div>                        

                    <div class="col-lg-4" style="width: 22%; margin-left: 5%">
                        <p:outputLabel id="opEmail" for="dbEmail" value="Email" styleClass="textNormal"/>
                        <p:inputText id="dbEmail" maxlength="50" styleClass="inputNormal" value="#{usuarioMB.usuario.email}" onchange="#{usuarioMB.statusSalvar = false; usuarioMB.statusCancelar = false}">
                            <p:ajax event="change"  update="btnSalvar,btnCancelar"/>
                            <p:ajax event="blur" listener="#{usuarioMB.validarEmail()}" process="formCadastro"/>
                        </p:inputText> 
                    </div>                                                                                                                                                                                                                                                                                                               

                    <div class="col-lg-4" style="width: 23%">
                        <p:outputLabel for="dbEmailVerifica" value="Confirmar Email" styleClass="textNormal"/>
                        <p:inputText id="dbEmailVerifica" maxlength="50" styleClass="inputNormal" value="#{usuarioMB.confirmaEmail}" onchange="#{usuarioMB.statusSalvar = false; usuarioMB.statusCancelar = false}" >                                                        
                            <p:ajax event="change"  update="btnSalvar,btnCancelar"/>
                            <p:ajax event="blur" listener="#{usuarioMB.emailEquivalente()}" update="dbEmailVerifica" process="formCadastro"/>
                        </p:inputText>
                    </div>

                    <div class="col-lg-1" style="width: 23%">
                        <p:outputLabel for="dbUsuario" value="Usuário" styleClass="textNormal"/>
                        <p:inputText id="dbUsuario" maxlength="20"  value="#{usuarioMB.usuario.userName}" styleClass="inputNormal" onchange="#{usuarioMB.statusSalvar = false; usuarioMB.statusCancelar = false}">
                            <p:ajax event="change"  update="btnSalvar,btnCancelar"/>
                            <p:ajax event="blur" listener="#{usuarioMB.validaLogin()}" update="dbUsuario" process="formCadastro"/>
                        </p:inputText>
                    </div>

                </div>

                <div class="row" style="margin-top: 1%">
                    <div class="col-lg-4" style="width: 23%">
                        <p:outputLabel for="dbSenha" value="Senha" styleClass="textNormal"/>
                        <p:password id="dbSenha" maxlength="20" value="#{usuarioMB.usuario.senha}" styleClass="inputNormal" onchange="#{usuarioMB.statusSalvar = false; usuarioMB.statusCancelar = false}">
                            <p:ajax event="change"  update="btnSalvar,btnCancelar"/>
                        </p:password>
                    </div>

                    <div class="col-lg-4" style="width: 22%; margin-left: 5%">
                        <p:outputLabel for="dbSenhaConfirma" value="Confirmar Senha" styleClass="textNormal"/>
                        <p:password id="dbSenhaConfirma" value="#{usuarioMB.confirmaSenha}" maxlength="20" styleClass="inputNormal" onchange="#{usuarioMB.statusSalvar = false; usuarioMB.statusCancelar = false}">
                            <p:ajax event="change"  update="btnSalvar,btnCancelar"/>
                            <p:ajax event="blur" listener="#{usuarioMB.senhaEquivalente()}" process="formCadastro"/>
                        </p:password>
                    </div>

                    <div class="col-lg-4" style="width: 23% ">
                        <p:outputLabel  value="Departamento" styleClass="textNormal" />
                        <p:selectOneMenu rendered="true" effect="fold" value="#{usuarioMB.usuario.centroCusto}">  
                            <f:selectItems value="#{usuarioMB.centrosCusto}" var="centroCusto" itemLabel="#{centroCusto.descricao}" itemValue="#{centroCusto.centroCusto}"/>
                        </p:selectOneMenu>             
                    </div>

                    <div class="col-lg-4" style="width: 23% ">
                        <p:outputLabel  value="Empresa" styleClass="textNormal"/>
                        <p:selectOneMenu rendered="true" value="#{usuarioMB.usuario.empresa}" >
                            <f:selectItems  value="#{usuarioMB.empresas}" var="empresa" itemLabel="#{empresa.fantasia}" itemValue="#{empresa.codigo}"/>
                        </p:selectOneMenu>
                    </div>
                </div>

                <div class="row">


                    <div class="col-lg-4" style="width: 23% ">
                        <p:outputLabel  value="Departamento Projetos" styleClass="textNormal" />
                        <p:selectOneMenu rendered="true" effect="fold" value="#{usuarioMB.usuario.departamentoProjetos.id}">  
                            <f:selectItems value="#{usuarioMB.dpProjetos}" var="depaProj" itemLabel="#{depaProj.descricao}" itemValue="#{depaProj.id}"/>
                        </p:selectOneMenu>             
                    </div>

                    <div class="col-lg-1" >
                        <p:outputLabel value="Ativo" styleClass="textNormal"/>

                        <p:selectOneMenu value="#{usuarioMB.usuario.habilitado}">
                            <f:selectItem itemLabel="Sim" itemValue="True"/>
                            <f:selectItem itemLabel="Não" itemValue="False"/>
                        </p:selectOneMenu>
                    </div>

                    <div class="col-lg-1" style="margin-top: 2.5%; width: 50%">
                        <p:commandButton rendered="#{usuarioMB.usuario.seq > 0}" onclick="PF('dialogPerfil').show()" value="Copiar Perfil"/>
                    </div>
                </div>




            </p:panel>

            <p:panel rendered="#{usuarioMB.usuario.seq > 0}" id="pnlPermissao" header="Permissões" styleClass="textNormalSemQuebra">
                <p:commandButton  value="Adicionar" onclick="PF('dlgSistema').show();" />
                <p:dataTable style="margin-top: 2%" id="dtPermissoes" widgetVar="dtPermissoes" value="#{usuarioMB.permissoes}" var="permissao" emptyMessage="Registros não encontrados.">

                    <p:column headerText="Sistema" sortBy="#{permissao.programa.sistema.descricao}" style="width: 15%">
                        <p:outputLabel value="#{permissao.programa.sistema.descricao}"/>
                    </p:column>

                    <p:column headerText="Programa" style="width: 15%">
                        <p:outputLabel value="#{permissao.programa.descricao}"/>
                    </p:column>

                    <p:column headerText="Acessa" style="width: 3%; text-align: center">
                        <p:selectBooleanCheckbox value="#{permissao.isAcessa}"/>
                    </p:column>

                    <p:column headerText="Deletar Permissão" width="40" style="text-align: center">
                        <p:commandButton action="#{usuarioMB.deletarPermissao(permissao.id)}"  icon="ui-icon-close" update="formCadastro" />
                    </p:column>

                </p:dataTable>
            </p:panel>


        </p:panel>

—meu bean–

public class UsuarioBean implements Serializable{

private Usuario usuario;

private List<Empresa> empresas;
private List<CentroCusto> centrosCusto;
private List<Programa> programas;
private List<Usuario> usuariosPesquisados;
private List<Permissao> permissoes;
private List<Usuario> usuariosDe;
private List<Usuario> usuariosPara;
private List<Sistema> sistemas;
private List<DepartamentoProjetos> dpProjetos;

private UsuarioDAO usuarioDAO;
private EmpresaDAO empresaDAO;
private CentroCustoDAO centroCustoDAO;
private ProgramaDAO programaDAO;
private PermissaoDAO permissaoDAO;
private SistemaDAO sistemaDAO;
private DepartamentoProjetosDAO departamentoProjetosDAO;

private int pesquisa;
private int usuarioDe;
private int usuarioPara;
private String usuarioPesquisa;
private String conteudoPesquisa;
private String verificaSenha;
private String confirmaEmail;
private String confirmaSenha;
private String senhaAux = "";
private boolean somenteLeitura;
private boolean podeSalvar;
private boolean statusNovo;
private boolean statusSalvar;
private boolean statusPesquisar;
private boolean statusCancelar;
private boolean isNovo;
private boolean showDialog;

public UsuarioBean() {
    this.usuario = new Usuario();
    usuario.setDepartamentoProjetos(new DepartamentoProjetos());
    this.usuarioDAO = new UsuarioDAO();
    this.empresaDAO = new EmpresaDAO();
    this.centroCustoDAO = new CentroCustoDAO();
    this.programaDAO = new ProgramaDAO();
    this.permissaoDAO = new PermissaoDAO();
    this.sistemaDAO = new SistemaDAO();
    this.departamentoProjetosDAO = new DepartamentoProjetosDAO();
    this.pesquisa = 1;
    //this.usuarioPesquisa = "";
    this.usuariosPesquisados = new ArrayList<Usuario>();
    this.permissoes = new ArrayList<Permissao>();
    this.dpProjetos = new ArrayList<DepartamentoProjetos>();
    this.somenteLeitura = false;
    this.confirmaEmail = "";
    this.confirmaSenha = "";
    this.statusNovo = false;
    this.statusPesquisar = false;
    this.statusSalvar = true;
    this.statusCancelar = true;
    this.showDialog = false;

    listarEmpresas();
    listarCentroCusto();
    listarProgramas();
    listarDepartamentoProjetos();

}

/**
 * Metodo que lista permissões de usuario
 *
 * @param id
 */
public void listarPermissoes(int id) {
    permissoes = permissaoDAO.listarPermissao(id);
}

public void listarSistemas() {
    sistemas = sistemaDAO.getSistemaByPesquisa(pesquisa, conteudoPesquisa);
}

/**
 * metodo testa se as senhas são equivalentes
 */
public void senhaEquivalente() {
    if (!usuario.getSenha().equals(this.confirmaSenha)) {
        this.confirmaSenha = "";
        UtilSistemas.mostrarMensagemErro("Campo inválido", "Senha incorreta!");
    }
}

/**
 * Método que verifica se o email é válido
 */
public void validarEmail() {
    if (!UtilSistemas.isEmailValido(usuario.getEmail())) {
        UtilSistemas.mostrarMensagemErro("Campo inválido", "Email incorreto!");
    }
}

/**
 * metodo testa se os emails digitados sao equivalentes
 */
public void emailEquivalente() {
    if (!usuario.getEmail().equals(this.confirmaEmail)) {
        this.confirmaEmail = "";
        UtilSistemas.mostrarMensagemErro("Email não validou", "Os emails não são equivalentes");

    }
}

/**
 * valida o cpf na view
 *
 */
public void validaCPF() {
    this.usuariosPesquisados = usuarioDAO.getUsuarioByPesquisa(3, usuario.getCPF());
    try {
        if (!UtilSistemas.isCPF(usuario.getCPF())) {
            usuario.setCPF("");
            throw new Exception("CPF Inválido");
        } else if (!usuariosPesquisados.isEmpty()) {
            usuario = usuarioDAO.getUsuarioByCPF(usuario.getCPF());

            if (usuario.getDepartamentoProjetos() == null) {
                usuario.setDepartamentoProjetos(new DepartamentoProjetos());
            }
            this.senhaAux = usuario.getSenha();
            this.somenteLeitura = true;
            listarPermissoes(usuario.getSeq());
            throw new Exception("CPF Já Cadastrado");
        }
    } catch (Exception e) {
        UtilSistemas.mostrarMensagemAlerta("Atenção!", e.getMessage());
    }
}

/**
 * Metodo que retorna uma lista de departamentos de projeto
 */
public void listarDepartamentoProjetos() {
    dpProjetos = departamentoProjetosDAO.listarDepartamentos();
}

/**
 * metodo verfica se o login esta cadastrado na base de dados
 */
public void validaLogin() {
    String str = usuario.getUserName();
    int idx = str.indexOf(" ");   //- 1 verdadeiro não tem espaço
    Usuario user = usuarioDAO.getUsuarioByLogin(usuario.getUserName());
    try {
        if (idx != -1) {
            throw new Exception("O nome de Usuário não deve conter espaços");
        } else if (usuario.getUserName().length() < 3) {
            throw new Exception("Usuário deve ter no minimo 3 digitos");
        }
        if (user.getUserName() != null) {
            throw new Exception("Usuario ja esta cadastrado");
        }

    } catch (Exception e) {
        usuario.setUserName("");
        UtilSistemas.mostrarMensagemErro("Erro", e.getMessage());
    }

}

/**
 * Método que valida os campos do cadastro
 *
 * @return
 */
public boolean isCamposValidos() {
    List<String> msgs = new ArrayList<String>();

    // cpf
    if (!UtilSistemas.isCPF(usuario.getCPF())) {
        usuario.setCPF("");
        msgs.add("CPF Inválido");
    } else if (!usuariosPesquisados.isEmpty()) {
        //usuario = usuarioDAO.getUsuarioByCPF(usuario.getCPF());
        this.somenteLeitura = true;
        //msgs.add("CPF Já Cadastrado");
    }
    //rg
    if (usuario.getRG().trim().length() < 5) {
        msgs.add("RG inválido");
    }

    // nome
    if (usuario.getNome().trim().length() < 3) {
        msgs.add("Nome inválido");
    }

    // data nasc
    if (usuario.getDataNasc() == null) {
        msgs.add("Data inválida");
    }

    // email
    if (senhaAux.equals("") && !usuario.getEmail().equals(this.confirmaEmail)) {
        msgs.add("Email inválido");
    }

    // email equivalente
    if (senhaAux.equals("") && !usuario.getEmail().equals(this.confirmaEmail)) {
        msgs.add("Email não são equivalentes");
    }

    //login
    String str = usuario.getUserName();
    int idx = str.indexOf(" ");   //- 1 verdadeiro não tem espaço
    Usuario user = usuarioDAO.getUsuarioByLogin(usuario.getUserName());
    if (idx != -1) {
        msgs.add("O nome de Usuário não deve conter espaços");
    }
    if (usuario.getUserName().length() < 3) {
        msgs.add("Usuário deve ter no minimo 3 digitos");
    }

// if(user.getUserName() != null){
// msgs.add(“Usuario ja esta cadastrado”);
// }
if (usuario.getUserName() == null) {
msgs.add(“Usuário Inválido”);
}

    // senha
    if (senhaAux.equals("") && !usuario.getSenha().equals(this.confirmaSenha)) {
        msgs.add("Senha inválida");
    }

    //                        
    if (!msgs.isEmpty()) {
        for (String s : msgs) {
            UtilSistemas.mostrarMensagemErro("Campo obrigatório", s);
        }
    }

    return (msgs.isEmpty());
}

public void pesquisar() {
    this.statusNovo = false;
    this.statusPesquisar = false;
    this.statusSalvar = false;
    this.statusCancelar = false;
    this.usuariosPesquisados = new ArrayList<Usuario>();
    if (!isNovo) {
        usuariosDe = usuarioDAO.listarUsuarios();
        usuariosPara = usuariosDe;
    }
}

/**
 * metodo salva usuario
 *
 * @throws Exception
 */
public void salvar() throws Exception {
    this.statusNovo = false;
    this.statusPesquisar = false;
    this.statusSalvar = true;
    this.statusCancelar = true;


    if (isCamposValidos()) {
        try {

            if (usuario.getSenha().equals("")) {
                usuario.setSenha(senhaAux);
                confirmaSenha = senhaAux;
            }
            usuario = usuarioDAO.salvar(usuario);

            if (usuario.getSeq() > 0 && permissoes.size() > 0) {
                permissaoDAO.salvarPermissoes(permissoes, usuario.getSeq(), isNovo);
            }
            if (isNovo) {
                usuariosDe = usuarioDAO.listarUsuarios();
                usuariosPara = usuariosDe;
                RequestContext.getCurrentInstance().execute("PF('dialogPerfil').show()");
            }
            //isNovo = false;
            UtilSistemas.mostrarMensagemSucesso("Sucesso", "Usuario Salvo");
        } catch (Exception e) {
            UtilSistemas.mostrarMensagemErro("Erro", e.getMessage());
        }
    }
}

/**
 * Metodo que copia o perfil de permissões
 */
public void copiarPerfil() {
    isNovo = true;
    List<Permissao> permissoesAux = new ArrayList<Permissao>();
    permissoesAux = permissaoDAO.listarPermissao(usuarioPara);

    for (Permissao p : permissoesAux) {
        deletarPermissao(p.getId());
    }

    permissoes = permissaoDAO.listarPermissao(usuarioDe);

    permissaoDAO.salvarPermissoes(permissoes, usuarioPara, isNovo);
    isNovo = false;

}

public void cancelar() {
    this.statusNovo = false;
    this.statusSalvar = true;
    this.statusPesquisar = false;
    this.statusCancelar = true;
    this.usuariosPesquisados = new ArrayList<Usuario>();
    isNovo = false;

}

/**
 * limpa tela
 */
public void novo() {
    this.usuario = new Usuario();
    this.confirmaEmail = "";
    this.confirmaSenha = "";
    this.usuariosPesquisados = new ArrayList<Usuario>();
    permissoes = new ArrayList<Permissao>();
    this.isNovo = true;

    this.statusNovo = true;
    this.statusSalvar = false;
    this.statusPesquisar = true;
    this.statusCancelar = false;
    this.somenteLeitura = false;
}

/**
 * metodos retorna lista de usuario pesquisados
 *
 * @param pesquisa
 * @param usuario
 */
public void listarUsuarios() {
    usuariosPesquisados = usuarioDAO.getUsuarioByPesquisa(pesquisa, usuarioPesquisa);

}

/**
 * Metodo pra deletar permissão
 *
 * @param idPermissao
 */
public void deletarPermissao(int idPermissao) {
    permissaoDAO.deletarPermissao(idPermissao);
    listarPermissoes(usuario.getSeq());
    //RequestContext.getCurrentInstance().update("formCadastro:dtPermissoes");
}

/**
 * Metodo que retorna usuario pelo CPF
 *
 * @param CPF
 */
public void getUsuarioByCPF(String CPF) {
    usuario = usuarioDAO.getUsuarioByCPF(CPF);
}

/**
 * Metodo que lista empresas
 */
public void listarEmpresas() {
    empresas = empresaDAO.listarEmpresas();
}

/**
 * Metodo que reotorna uma lista de programas ativos
 */
public void listarProgramas() {
    programas = programaDAO.listarProgramas();
}

/**
 * Metodo que lista programas pelo id do Sistema
 *
 * @param idSistema
 */
public void listarProgramasSistema(int idSistema) {
    programas = new ArrayList<Programa>();
    sistemas = new ArrayList<Sistema>();
    conteudoPesquisa = "";
    programas = programaDAO.listarProgramasByIdSistema(idSistema);
    int i = 0;
    for (Permissao p : permissoes) {

        for (i = 0; i < programas.size(); i++) {
            if (p.getPrograma().getIdPrograma() == programas.get(i).getIdPrograma()) {
                programas.remove(i);
            }
        }

    }

    if (programas.size() < 1) {
        RequestContext.getCurrentInstance().update("formCadastro:dlgSistema");
        UtilSistemas.mostrarMensagemAlerta("Atenção", "Todas as permissões deste sistemas já foram concedida ao usuário.");
        RequestContext.getCurrentInstance().execute("PF('dlgSistema').show();");
    } else {
        RequestContext.getCurrentInstance().execute("PF('dlgSistema').hide();");
        RequestContext.getCurrentInstance().update("formCadastro:dlgProgramas");
        RequestContext.getCurrentInstance().update("formCadastro:dlgSistema");
        RequestContext.getCurrentInstance().execute("PF('dlgProgramas').show();");
    }

}

/**
 * Metodo que adiciona uma nova permissao para usuario
 */
public void adicionarPermissao() {
    List<Programa> programasTemp = new ArrayList<Programa>();

    for (Programa p : programas) {
        if (p.isIsSelected()) {
            programasTemp.add(p);
        }
    }

    for (Programa p : programasTemp) {

        Permissao permissao = new Permissao();
        permissao.setIdUsuario(usuario.getSeq());
        permissao.setIsAcessa(true);
        permissao.setIsAltera(true);
        permissao.setIsInsere(true);
        permissao.setPrograma(p);
        permissao.setiUsuario(UtilSistemas.getUsuarioLogado().getSeq());

        permissoes.add(permissao);

    }

    permissaoDAO.salvarPermissoes(permissoes, usuario.getSeq(), isNovo);
    listarPermissoes(usuario.getSeq());

    RequestContext.getCurrentInstance().execute("PF('dlgProgramas').hide();");
    RequestContext.getCurrentInstance().update("formCadastro:pnlPermissao");

    UtilSistemas.mostrarMensagemSucesso("Sucesso!", "Permissão adicionada com sucesso!");

}

/**
 * Metodo que retorna uma lista de Centro de Custo
 */
public void listarCentroCusto() {
    centrosCusto = centroCustoDAO.listarCentroCusto();
}

public Usuario getUsuario() {
    return usuario;
}

public void setUsuario(Usuario usuario) {
    this.usuario = usuario;
    this.confirmaEmail = usuario.getEmail();
    this.confirmaSenha = usuario.getSenha();
    this.verificaSenha = usuario.getSenha();
    this.senhaAux = usuario.getSenha();
    this.usuarioPesquisa = "";

    if (usuario.getDepartamentoProjetos() == null) {
        usuario.setDepartamentoProjetos(new DepartamentoProjetos());
    }

    listarPermissoes(usuario.getSeq());
    pesquisar();
}

public List<Permissao> getPermissoes() {
    return permissoes;
}

public void setPermissoes(List<Permissao> permissoes) {
    this.permissoes = permissoes;
}

public List<Programa> getProgramas() {
    return programas;
}

public void setProgramas(List<Programa> programas) {
    this.programas = programas;
}

public List<Empresa> getEmpresas() {
    return empresas;
}

public void setEmpresas(List<Empresa> empresas) {
    this.empresas = empresas;
}

public List<CentroCusto> getCentrosCusto() {
    return centrosCusto;
}

public void setCentrosCusto(List<CentroCusto> centrosCusto) {
    this.centrosCusto = centrosCusto;
}

public int getPesquisa() {
    return pesquisa;
}

public void setPesquisa(int pesquisa) {
    this.pesquisa = pesquisa;
}

public String getUsuarioPesquisa() {
    return usuarioPesquisa;
}

public void setUsuarioPesquisa(String usuarioPesquisa) {
    this.usuarioPesquisa = usuarioPesquisa;
}

public List<Usuario> getUsuariosPesquisados() {
    return usuariosPesquisados;
}

public void setUsuariosPesquisados(List<Usuario> usuariosPesquisados) {
    this.usuariosPesquisados = usuariosPesquisados;
}

public String getVerificaSenha() {
    return verificaSenha;
}

public void setVerificaSenha(String verificaSenha) {
    this.verificaSenha = verificaSenha;
}

public boolean isSomenteLeitura() {
    return somenteLeitura;
}

public void setSomenteLeitura(boolean somenteLeitura) {
    this.somenteLeitura = somenteLeitura;
}

public boolean isPodeSalvar() {
    return podeSalvar;
}

public void setPodeSalvar(boolean podeSalvar) {
    this.podeSalvar = podeSalvar;
}

public String getConfirmaEmail() {
    return confirmaEmail;
}

public void setConfirmaEmail(String confirmaEmail) {
    this.confirmaEmail = confirmaEmail;
}

public String getConfirmaSenha() {
    return confirmaSenha;
}

public void setConfirmaSenha(String confirmaSenha) {
    this.confirmaSenha = confirmaSenha;
}

public boolean isStatusNovo() {
    return statusNovo;
}

public void setStatusNovo(boolean statusNovo) {
    this.statusNovo = statusNovo;
}

public boolean isStatusSalvar() {
    return statusSalvar;
}

public void setStatusSalvar(boolean statusSalvar) {
    this.statusSalvar = statusSalvar;
}

public boolean isStatusPesquisar() {
    return statusPesquisar;
}

public void setStatusPesquisar(boolean statusPesquisar) {
    this.statusPesquisar = statusPesquisar;
}

public boolean isStatusCancelar() {
    return statusCancelar;
}

public void setStatusCancelar(boolean statusCancelar) {
    this.statusCancelar = statusCancelar;
}

public List<Usuario> getUsuariosDe() {
    return usuariosDe;
}

public void setUsuariosDe(List<Usuario> usuariosDe) {
    this.usuariosDe = usuariosDe;
}

public List<Usuario> getUsuariosPara() {
    return usuariosPara;
}

public void setUsuariosPara(List<Usuario> usuariosPara) {
    this.usuariosPara = usuariosPara;
}

public int getUsuarioDe() {
    return usuarioDe;
}

public void setUsuarioDe(int usuarioDe) {
    this.usuarioDe = usuarioDe;
}

public int getUsuarioPara() {
    return usuarioPara;
}

public void setUsuarioPara(int usuarioPara) {
    this.usuarioPara = usuarioPara;
}

public List<Sistema> getSistemas() {
    return sistemas;
}

public void setSistemas(List<Sistema> sistemas) {
    this.sistemas = sistemas;
}

public String getConteudoPesquisa() {
    return conteudoPesquisa;
}

public void setConteudoPesquisa(String conteudoPesquisa) {
    this.conteudoPesquisa = conteudoPesquisa;
}

public boolean isShowDialog() {
    return showDialog;
}

public void setShowDialog(boolean showDialog) {
    this.showDialog = showDialog;
}

public List<DepartamentoProjetos> getDpProjetos() {
    return dpProjetos;
}

public void setDpProjetos(List<DepartamentoProjetos> dpProjetos) {
    this.dpProjetos = dpProjetos;
}

Alguma exception? Ou só retorna em branco? Chegou a debugar o código?

Apareceu esse Caused by: javax.el.PropertyNotFoundException: Target Unreachable, ‘departamentoProjetos’ returned null. E retorna em branco, to debugando mas ainda não consegui identificar.

Pelo que vi, departamentoProjetos é um atributo de usuário.
Então, você precisa verificar se este possui o mesmo no banco de dados, se é recebido na consulta.

Tem o get e set desse atributo?

sim

    public DepartamentoProjetos getDepartamentoProjetos() {
            return departamentoProjetos;
        }

    public void setDepartamentoProjetos(DepartamentoProjetos departamentoProjetos) {
        this.departamentoProjetos = departamentoProjetos;
    }

Por algum motivo estava dano erro no método que limpa o form.

public void novo() {
this.usuario = new Usuario();
this.confirmaEmail = “”;
this.confirmaSenha = “”;
this.usuariosPesquisados = new ArrayList();
permissoes = new ArrayList();
this.isNovo = true;

    this.statusNovo = true;
    this.statusSalvar = false;
    this.statusPesquisar = true;
    this.statusCancelar = false;
    this.somenteLeitura = false;
    this.dpProjetos = new ArrayList<DepartamentoProjetos>();
   
}

adicionei esse this.dpProjetos = new ArrayList(); e deu certo