Application - playing this message - javax.el.Propertynotwritableexception - not writable on type

Asked

Viewed 148 times

0

Hello. It’s the following ,I’m not able to delete the selected fields,and my application is playing the message -

javax.el.Propertynotwritableexception: /listFunction.xhtml @29,32 Selection="#{controlerBean.funcionaioSelected}": Property 'worksSelected' not writable on type br.com.grande_recife.controller

Follow my bean

@ManagedBean

public class Controlerbean Implements Serializable {

private List<Funcionario> funcionarios = this.listarDados();

 Funcionario[]funcionarioSelecionados;    



// private PreparedStatement stmte;

public List<Funcionario> getFuncionarios() {
    return funcionarios;
}

public void setFuncionarios(List<Funcionario> funcionarios) {
    this.funcionarios = funcionarios;
}

public Funcionario[] getFuncionarioSelecionados() {
    return funcionarioSelecionados;
}

public void setFuncionarioSelecionados(Funcionario funcionarioSelecionados) {
    this.funcionarios = (List<Funcionario>) funcionarioSelecionados;
}

public List<Funcionario> listarDados() {

    //gerencia
    String sqq = "select funcionario.cpf , nome, matricula,diretoria,departamento,divisao, cargo "
            + "from funcionario "
            + "left JOIN dadosprofissionais "
            + "ON dadosprofissionais.cpf = funcionario.cpf";

    List<Funcionario> lista = new ArrayList<Funcionario>();

    try {
        Statement tt = Conexao.getConexao().createStatement();
        //PreparedStatement tt = Conexao.getConexao().prepareStatement(sqq);
        //tt.setString(1, sqq);
        ResultSet resul = tt.executeQuery(sqq);

        while (resul.next()) {

            Funcionario funcionario = new Funcionario();
            funcionario.setCpf(resul.getString("cpf"));
            funcionario.setNome(resul.getString("nome"));
            funcionario.setMatricula(resul.getInt("matricula"));
            funcionario.setDiretoria(resul.getString("diretoria"));
            funcionario.setDepartamento(resul.getString("departamento"));
            funcionario.setDivisao(resul.getString("divisao"));
            funcionario.setCargo(resul.getString("cargo"));

            lista.add(funcionario);

        }

    } catch (SQLException ex) {

        Logger.getLogger(ControlerBean.class.getName()).log(Level.SEVERE, null, ex);
        //Logger.getAnonymousLogger(ListarBean.class.getName()).log(Level.SEVERE, null, ex);
    }
    return lista;
}

public void excluir() {



    DeletarCadastro excluir = new DeletarCadastro();
    //excluir.deletarFuncionario();

    for (Funcionario func : funcionarioSelecionados) {       

           excluir.deletarFuncionario(func);


    }



}

}

What can it be ??

  • post the xhtml file of this Bean to get better to view

  • Why return a array and not a List.

1 answer

0

I searched on this message ,and the reason was set ,because this message refers to the type to record and such, and is used through the set.

So what was like

public void setFuncionarioSelecionados(Funcionario funcionarioSelecionados) {
this.funcionarios = (List<Funcionario>) funcionarioSelecionados;

}

I put it like this .. and in my xhtml I referenced the delete button using the table @this.

 public void setFuncionarioSelecionados(Funcionario[] funcionarioSelecionados) {
    this.funcionarioSelecionados = funcionarioSelecionados;
}

Browser other questions tagged

You are not signed in. Login or sign up in order to post.