Boa noite pessoal.
Estuo estudando a apostila fj21, sobre vRaptor.
Na apostila faz menção sobre uma importação do projeto: Desktop/caelum/21/controle-produtos.zip
Como não tenho este projeto resolvi tentar cria-lo.
Criei uma classe usando hibernate para gerar as tabelas
uma classe de produtoDAO.
e a classe ProdutoController.
e a lista.jsp
Quando rodo a “lista.jsp” ela não retorna a lista populada com os dados do banco.
segue os codigos abaixo
ProdutoDAO
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
public class ProdutoDAO {
private Session session;
public ProdutoDAO(Session session) {
this.session = session;
}
public void salva(Produto p) {
this.session.save(p);
}
public void remove(Produto p) {
this.session.delete(p);
}
public Produto procura(Long id) {
return (Produto) this.session.load(Produto.class, id);
}
public void atualiza(Produto p) {
this.session.update(p);
}
public List<Produto> listaTudo(){
return this.session.createCriteria(Produto.class).list();
}
public List<Produto> pagina(int inicio, int quantia){
return this.session.createCriteria(Produto.class).setMaxResults(quantia).setFirstResult(inicio).list();
}
public List<Produto> precoMaiorQue(double preco) {
Query query = this.session.createQuery("from Produto where preco > :preco");
query.setDouble("preco", preco);
return query.list();
}
}
ProdutoController
import br.com.caelum.vraptor.Resource;
import java.util.List;
import org.hibernate.Session;
@Resource
public class ProdutoController {
Session session = new HibernateUtil().getSession();
public List<Produto> lista() {
return new ProdutoDAO(session).listaTudo();
}
}
lista.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<h1>Produtos</h1>
<table>
<c:forEach var="produto" items="${produtoList}">
<tr>
<td>${produto.nome}</td>
<td>${produto.preco}</td>
<td>${produto.descricao}</td>
</tr>
</c:forEach>
</table>
–
At:…
Felipe Gomes de Paula
