Estou com uma duvida neste projeto, que contem dois Manage Bean que se referencian a uma classe Contato do padrao java beans, e o outro manage bean do ContatoDao, o problema acontece na propriedade do botao inserir contato, que reclama a seguinte mensagem: EL expression does not evaluate to expected types for this attribute[u] [/b]
[i][b]gostaria de saber o por que?, e o passo para solução.
Olá tiagowmm,
Você está fazendo a implementação de forma errada.´Primeiro que não é aconselhavel você utilizar diretamente o DAO no Faces-config e você também não tem um objeto contato na sua classe DAO. Mas crie um objeto contato dentro do DAO e utilize ele, apenas para os testar.
Algo como:
//Cria um objeto Contato para ser acessado pela JSP
private Contato contato;
//get e set
@Override
public String inserir() {
// TODO Auto-generated method stub
Connection con = null;
String resp = null;
String sql = null;
PreparedStatement pstm = null;
try {
con = ConnectionFactory.getConnection();
sql = "insert into contato(nome, endereco, telefone)values(?,?,?)";
pstm = con.prepareStatement(sql);
pstm.setString(1, contato.getNome());
pstm.setString(2, contato.getEndereco());
pstm.setString(3, contato.getTelefone());
pstm.executeUpdate();
resp = "Sucesso";
return resp;
} catch (SQLException e) {
// TODO Auto-generated catch block
resp = "Erro ao Inserir!";
e.printStackTrace();
return resp;
} finally {
try {
pstm.close();
} catch (Exception e) {
}
try {
con.close();
} catch (Exception e) {
}
}
}
[b]Ola Daniel fiz o que você me falou mas nao deu certo o erro ainda continua. Você comentou que este nao é a melhor forma de se implementar, como seria?