Ola Pessoal,
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]
gostaria de saber o por que?, e o passo para solução.
Desde já agradeço.
Segue-se o codigo fonte abaixo:
Abraço.
Contato.jsp
<h:form >
<h1 align="center">Cadastro de Contatos</h1>
<table align="center">
<tr>
<td><h:outputLabel value="ID:" /></td>
<td><h:inputText value="#{contato.id}"/></td>
</tr>
<tr>
<td><h:outputLabel value="Nome:"/></td>
<td><h:inputText value="#{contato.nome}"/></td>
</tr>
<tr>
<td><h:outputLabel value="Endereço:"/></td>
<td><h:inputText value="#{contato.endereco}"/></td>
</tr>
<tr>
<td><h:outputLabel value="Telefone:"/></td>
<td><h:inputText value="#{contato.telefone}"/></td>
</tr>
</table>
<table align="center">
<tr>
<td><h:commandButton value="Novo" type="reset"/></td>
<td><h:commandButton value="Inserir" action="#{contatoDao.inserir}"/></td>
<td><h:commandButton value="Consultar"/></td>
<td><h:commandButton value="Alterar"/></td>
<td><h:commandButton value="Excluir"/></td>
</tr>
</table>
</h:form >
Contato.java
private long id;
private String nome;
private String endereco;
private String telefone;
// getters and setters
ContatoDao.java
@Override
public String inserir(Contato contato) {
// 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) {
}
}
}
Faces-Config
<faces-config>
<managed-bean>
<managed-bean-name>
contatoDao</managed-bean-name>
<managed-bean-class>
br.com.web.dao.ContatoDao</managed-bean-class>
<managed-bean-scope>
session</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>
contato</managed-bean-name>
<managed-bean-class>
br.com.web.modelo.Contato</managed-bean-class>
<managed-bean-scope>
request</managed-bean-scope>
</managed-bean>
</faces-config>