Olá amigos, estou com um problema e devido a falta de experiência, não sei resolver.
É o seguinte:
Tenho a Superclasse Cadastro:
package classe.modelo.vo;
import java.sql.Date;
public class Cadastro{
private int id;
private String cnpjCpf;
private String razaoSocial;
private String nome;
private String inscrEstadual;
private String rg;
private String inscrMun;
private String rua;
private String complemento;
private String numero;
private String bairro;
private Municipio municipio; // campo municipio id
private String cep;
private String telefone;
private String www;
private String email;
private String obs;
private Date dtCadastro;
private String sts;
private Empresa empresa;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getCnpjCpf() {
return cnpjCpf;
}
public void setCnpjCpf(String cnpjCpf) {
this.cnpjCpf = cnpjCpf;
}
public String getRazaoSocial() {
return razaoSocial;
}
public void setRazaoSocial(String razaoSocial) {
this.razaoSocial = razaoSocial;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getInscrEstadual() {
return inscrEstadual;
}
public void setInscrEstadual(String inscrEstadual) {
this.inscrEstadual = inscrEstadual;
}
public String getRg() {
return rg;
}
public void setRg(String rg) {
this.rg = rg;
}
public String getInscrMun() {
return inscrMun;
}
public void setInscrMun(String inscrMun) {
this.inscrMun = inscrMun;
}
public String getRua() {
return rua;
}
public void setRua(String rua) {
this.rua = rua;
}
public String getComplemento() {
return complemento;
}
public void setComplemento(String complemento) {
this.complemento = complemento;
}
public String getNumero() {
return numero;
}
public void setNumero(String numero) {
this.numero = numero;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public Municipio getMunicipio() {
return municipio;
}
public void setMunicipio(Municipio municipio) {
this.municipio = municipio;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getWww() {
return www;
}
public void setWww(String www) {
this.www = www;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getObs() {
return obs;
}
public void setObs(String obs) {
this.obs = obs;
}
public Date getDtCadastro() {
return dtCadastro;
}
public void setDtCadastro(Date dtCadastro) {
this.dtCadastro = dtCadastro;
}
public String getSts() {
return sts;
}
public void setSts(String sts) {
this.sts = sts;
}
public Empresa getEmpresa() {
return empresa;
}
public void setEmpresa(Empresa empresa) {
this.empresa = empresa;
}
}
e a Classe Usuario:
package classe.modelo.vo;
public class Usuario extends Cadastro{
private int Id;
private String login;
private String senha;
private String status;
@Override
public int getId() {
return Id;
}
@Override
public void setId(int id) {
Id = id;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
e o método listar em UsuarioDao:
public static ArrayList<Usuario> listar(){
try {
conexao = Conexao.conectar();
ArrayList<Usuario> lista = null;
StringBuffer query = new StringBuffer();
query.append("SELECT c.cad_id , ");
query.append("c.cad_nome , ");
query.append("c.cad_email , ");
query.append("c.cad_telefone , ");
query.append("c.cad_cnpjcpf , ");
query.append("c.cad_rg , ");
query.append("c.cad_rua , ");
query.append("c.cad_complemento , ");
query.append("c.cad_numero , ");
query.append("c.cad_bairro , ");
query.append("c.cad_dtcadastro, ");
query.append("u.usu_id, ");
query.append("u.usu_login, ");
query.append("u.usu_senha, ");
query.append("u.usu_sts, ");
query.append("m.mun_descricao ");
query.append("FROM cadastro c ");
query.append("INNER JOIN usuario u ");
query.append("ON ");
query.append("u.usu_id = c.cad_id ");
query.append("INNER JOIN municipio m ");
query.append("ON ");
query.append("m.mun_id = c.cad_munid");
PreparedStatement consulta = conexao.prepareStatement(query.toString());
ResultSet resultado = consulta.executeQuery();
lista = new ArrayList<Usuario>();
while(resultado.next()){
Usuario usuario = new Usuario();
usuario.setMunicipio(new Municipio());
usuario.setNome(resultado.getString("cad_nome"));
usuario.setEmail(resultado.getString("cad_email"));
usuario.setTelefone(resultado.getString("cad_telefone"));
usuario.setCnpjCpf(resultado.getString("cad_cnpjcpf"));
usuario.setRg(resultado.getString("cad_rg"));
usuario.setRua(resultado.getString("cad_rua"));
usuario.setComplemento(resultado.getString("cad_complemento"));
usuario.setNumero(resultado.getString("cad_numero"));
usuario.setBairro(resultado.getString("cad_bairro"));
usuario.setDtCadastro(resultado.getDate("cad_dtcadastro"));
usuario.setId(resultado.getInt("usu_id"));
usuario.setLogin(resultado.getString("usu_login"));
usuario.setSenha(resultado.getString("usu_senha"));
usuario.setStatus(resultado.getString("usu_sts"));
usuario.getMunicipio().setDescricao(resultado.getString("mun_descricao"));
lista.add(usuario);
}
return lista;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
acho que o problema está aqui em listaUsuario.jsp:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<jsp:useBean id="usuario" scope="session" class= "classe.modelo.vo.Usuario" />
<jsp:useBean id="listaUsuario" scope="request" class="java.util.ArrayList"/>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Lista de Usuários</title>
</head>
<body>
<table class="titulo">
<tr>
<td class="cel">Código</td>
<td class="cel">Nome</td>
<td class="cel">Rua</td>
<td class="cel">Complemento</td>
<td class="cel">Número</td>
<td class="cel">Bairro</td>
<td class="cel">Município</td>
<td class="cel">Cep</td>
<td class="cel">Data Cadastro</td>
<td class="cel">Alterar</td>
<td class="cel">Excluir</td>
</tr>
<c:forEach items="${listaUsuario}" var="lista">
<tr>
<td class="cel"><c:out value="${lista.Id}"></c:out></td>
<td class="cel"><c:out value="${lista.rua}"></c:out></td>
<td class="cel"><c:out value="${lista.complemento}"></c:out></td>
<td class="cel"><c:out value="${lista.numero}"></c:out></td>
<td class="cel"><c:out value="${lista.bairro}"></c:out></td>
<td class="cel"><c:out value="${lista.descricao}"></c:out></td>
<td class="cel"><c:out value="${lista.cep}"></c:out></td>
<td class="cel"><c:out value="${lista.dtCadastro}"></c:out></td>
<td class="cel"><a href="ServletUsuario?acao=AlterarUsuario&cod=<c:out value="${lista.Id}"></c:out>">
V</a></td>
<td class="cel"><a href="ServletUsuario?acao=ExcluirUsuario&cod=<c:out value="${lista.Id}"></c:out>">
X</a></td>
</tr>
</c:forEach>
</table>
</body>
</html>
Quando eu executo e mando listar, dá o seguinte erro:
21/01/2012 23:57:03 org.apache.catalina.core.ApplicationDispatcher invoke
GRAVE: Servlet.service() for servlet jsp threw exception
javax.el.PropertyNotFoundException: Property ‘Id’ not found on type classe.modelo.vo.Usuario…
Parece que está dizendo que não existe o atributo Id na classe usuario mas existe sim. O que pode ser?