Ola pessoal, estou tendo um problema aqui… esse codigo esta rodando… porem nao é listado na tela a categoria que o cliente pertence. PQ??? Como deveria ser o código??? Obrigado
CadastroVO
[code] public CategoriaVO getCategoria() {
return categoria;
}
public void setCategoria(CategoriaVO categoria) {
this.categoria = categoria;
}[/code]
CadastroDAO
[code]
public List getBuscaCpf() throws SQLException {
db = new ConexaoBD();
List lista = new ArrayList();
consultacpf = db.getConn().prepareStatement("SELECT cd.nome, cd.rg, ct.categoria FROM cadastro cd inner join categoria ct on cd.idcategoria = ct.idcategoria where cpf = ?");
consultacpf.setString(1, cpf.getCpf());
ResultSet rs = consultacpf.executeQuery();
while (rs.next()) {
CadastroVO cadastrovo = new CadastroVO();
CategoriaVO categoriavo = new CategoriaVO();
cadastrovo.setNome(rs.getString("nome"));
cadastrovo.setRg(rs.getString("rg"));
categoriavo.setCategoria(rs.getString("categoria"));
lista.add(cadastrovo);
lista.add(categoriavo);
}
return lista;
}[/code]
buscacliente.jsp
[code]<c:forEach var=“x” items="${cadastrodao.buscaCpf}">
| ">${x.nome} |
${x.rg} |
${x.categoria} |
</c:forEach>[/code]
Oi Rodrigo,
vc declarou o atributo List BuscaCpf?
Vc está usando Jsp ou Jsf?
Ola tudo bem? eu estou usando JSP/JSTL … Como assim declarei atributo, List BuscaCpf… esse é o metodo não?
[code] public List getBuscaCpf() throws SQLException {
db = new ConexaoBD();
List lista = new ArrayList();
consultacpf = db.getConn().prepareStatement("SELECT cd.nome, cd.rg, ct.categoria FROM cadastro cd inner join categoria ct on cd.idcategoria = ct.idcategoria where cpf = ?");
consultacpf.setString(1, cpf.getCpf());
ResultSet rs = consultacpf.executeQuery();
while (rs.next()) {
CadastroVO cadastrovo = new CadastroVO();
CategoriaVO categoriavo = new CategoriaVO();
cadastrovo.setNome(rs.getString("nome"));
cadastrovo.setRg(rs.getString("rg"));
categoriavo.setCategoria(rs.getString("categoria"));
cadastrovo.setCategoria(categoriavo);
lista.add(cadastrovo);
}
return lista;
}[/code]
desse jeito … o resultado que aparece na tela: VO.CategoriaVO@e73236, pq??? o que eu estou errando???
Oi Rodrigo,
vamos tentar uma solução.
Para vc pegar um objeto via Jstl no Jsp vc tem que jogar ele no request ou na sessão.
Do jeito que vc fez, vc esta tentando acessar um metodo diretamente via Jsp, para fazer isso da um pouco mais de trabalho, tem que criar um tag lib descriptor, é mais complicado…
Vamos tentar resolver jogando o objeto na sessão:
- No final do getBuscaCpf vc joga a lista para a sessão
request.setAttribute("listaCPF", lista)
-
O seu getBuscaCpf() está dentro de um servlet? Se sim chame ele no construtor do Servlet.
-
Altere a linha do seu Jsp
<c:forEach var="x" items="${listaCPF}">
Tenta aí.