SelectOneMenu:“验证错误:值无效”

时间:2013-06-02 20:08:11

标签: jsf primefaces selectonemenu

我在这个主题上已经阅读了很多类似的主题,但是没有一个能够解决这个问题。 任何人都可以帮助解决以下问题吗?

我有一个使用Foillowing SelectOneMenu的表单

<h:outputText value="Gerente do Projeto: " />
            <p:selectOneMenu value="#{projetoBean.projeto.idGerente}"
            style="width:160px; font-size:110%;" 
            <f:selectItems value="#{projetoBean.gerentes}" />
            </p:selectOneMenu>

它在下面的方法中连接到这个bean:

public void buscaGerentes(){
    List<SelectItem> gerentesAux = new ArrayList<SelectItem>();
    gerentesAux = recursoRN.listaGerentes();
    this.gerentes = gerentesAux;
}

Thos bean呼唤以下BO:

public List<SelectItem> listaGerentes(){
    List<SelectItem> gerente = new ArrayList<SelectItem>();
    gerente = recursoDAO.listaGerentes();
    return gerente;

最后,这是DAO将我的数据传递给selectonemenu:

public List<SelectItem> listaGerentes() {
    List<SelectItem> gerenteLista = new ArrayList<SelectItem>();
    Connection conexao = geraConexao();     
    Statement consulta = null;
    ResultSet resultado = null;
    Recurso recurso = null;
    String sql = "SELECT id_recurso, nome FROM rupecm.recurso WHERE id_perfil = 11 AND ativo = 1;";

    try {
        consulta = conexao.createStatement();
        resultado = consulta.executeQuery(sql);

        while (resultado.next()) {
            recurso = new Recurso();
            recurso.setIdRecurso(new Integer(resultado.getInt("id_recurso")));
            recurso.setNome(resultado.getString("nome"));               
            gerenteLista.add(new SelectItem(recurso.getIdRecurso(), recurso.getNome()));
            System.out.println("Recurso ID: "+recurso.getIdRecurso()+" | Nome: "+recurso.getNome());
        }

    } catch (SQLException e) {
        System.out.println("Erro ao buscar gerentes: " + e.getMessage());
        gerenteLista = null;
    } finally {
        try {
            consulta.close();
            resultado.close();
            conexao.close();
        } catch (Throwable e) {
            System.out.println("Erro ao fechar operação de consulta: "
                    + e.getMessage());
        }
    }
    return gerenteLista;
}

我一直得到同样的错误,尽管我宣布了平等和其他的东西。你能告诉我我做错了什么吗?

非常感谢您的帮助。

最好的问候。

0 个答案:

没有答案