VRaptor

7 respostas
C

Boa tarde, estou com problema em exibir os dados na tela se alguém puder me ajudar Obrigado;

tenho um método que retorna uma lista de produtos quando vou fazer o for para exibir não aparece nada, mas está retornando acredito que faltou converter algo tipo. Produto p= new Produto(); p=(Produto) list[0]; mas não sei como implementar.

Código para exibir.

<body>   
        ${produtoList}
        <table>
            <thead>
                <tr>
                    <th>Nome</th>
                    <th>Descrição</th>
                    <th>Preço</th>
                </tr>
            </thead>
            <tbody>
            <c:forEach items="${produtoList}" var="produto">
                <tr>
                    <td>${produto.nome }</td>
                    <td>${produto.descricao }</td>
                    <td>${produto.preco }</td>
                </tr>
            </c:forEach>
        </tbody>

Controller

public List<Produto> lista() {
        return dao.listaTudo();
    }

Método que retorna DAO.

public List<Produto> listaTudo() {
        return bd.getSessao().createCriteria(Produto.class).list();                                              
    }

Vejam como está saindo na imagem.

7 Respostas

Rafael_Guerreiro

Você tem a taglib core importada?

&lt;%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%&gt;
igor_ks

Onde está teu produtoList no Java?

Rafael_Guerreiro

Está no controller:

public List&lt;Produto&gt; lista() { return dao.listaTudo(); }
Por padrão, o VRaptor pega o nome da classe que está sendo retornada, e quando for List<AlgumaCoisa> ele poe algumaCoisaList.

Esse código está certo.

wiltonor

O erro está nesta linha ${produtoList} ele está chamando o toString(); do List e mão uma imagem específica que deveria ser invocada dentro do <c:forEach> ou ${produtoList[0].imagem, caso o nome da propriedade seja imagem e você queira mostar apenas a imagem do primeiro produto.

Rafael_Guerreiro

Aquela linha, acredito eu, que seja somente um teste para mostrar que a lista de produtos está preenchida. O problema dele está no <c:forEach> que não está iterando. Mas ele está invocando o c:forEach corretamente (se eu não deixei passar nada)…

Lucas_Cavalcanti

repetindo o Rafael Guerreiro: vc colocou a declaração da taglib c?

C

Obrigado Rafael Guerreiro e aos demais.

Não tinha colocado a taglib.

Criado 25 de outubro de 2012
Ultima resposta 26 de out. de 2012
Respostas 7
Participantes 5