Paginação

Boa tarde galera,

Seguinte, tenho um metodo no meu controller.

@Get("/produtos")
public List<Produto> lista() {
return dao.listaTudo();
 }

Gostaria de na hora da apresentação fazer uma paginação com displaytag.
Minha página de apresentação atual.

<table>
<thead>
<tr>
<th>Imagem</th>
<th>Nome</th>
<th>Fabricante</th>
<th>Preço</th>
<th>Orçamento</th>
<c:if test="${usuarioWeb.logado}">
<th>NCM_SH</th>
<th>Alterar</th>
<th>Excluir</th>
</c:if>
</tr>
</thead>
<tbody>
<c:forEach items="${produtoList}" var="produto">
<tr>
&lt;td&gt;<img /produtos/${produto.id}/imagem"/>&quot; width=&quot;120&quot; height=&quot;120&quot;/&gt;&lt;/td&gt;
&lt;td&gt;${produto.nome}&lt;/td&gt;
&lt;td&gt;${produto.fabricante}&lt;/td&gt;
&lt;td&gt;${produto.preco}&lt;/td&gt;
&lt;td&gt;
&lt;!-- Adicionando o produto ao carrinho de compras --&gt;
&lt;form action="&lt;c:url value="/carrinho"/&gt;&quot; method=&quot;POST&quot;&gt;
&lt;input type="hidden" name="item.produto.id"
value="${produto.id}"/&gt;
&lt;input class="qtde" name="item.quantidade" value="1"/&gt;
&lt;button type="submit"&gt;Adicionar&lt;/button&gt;
&lt;/form&gt;
&lt;/td&gt;
&lt;c:if test="${usuarioWeb.logado}"&gt;
&lt;td&gt;${produto.ncmsh}&lt;/td&gt;
&lt;td&gt;
<a /produtos/${produto.id}"/>&quot;&gt;
Editar
</a>
&lt;/td&gt;
&lt;td&gt;
&lt;form action="&lt;c:url value="/produtos/${produto.id}"/&gt;&quot;method=&quot;POST&quot;&gt;
&lt;button class="link" name="_method" value="DELETE"&gt;Remover&lt;/button&gt;
&lt;/form&gt;
&lt;/td&gt;
&lt;/c:if&gt;
&lt;/tr&gt;
&lt;/c:forEach&gt;
&lt;/tbody&gt;
&lt;/table&gt;

O que eu preciso fazer?
Passo a passo. (Já pesquisei muito, e não entendi muita coisa, não sei o que é necessário configurar).
Qual arquivo baixar, qual arquivo configurar e como ficaria minha página de resultado.

Estou utilizando vraptor 3.0 Hibernate 4.1 e taglib.

Valeu pela ajuda.

opa tudo bem ja fiz isto em php.

segue o fotolog que vai ter paginação,

no link ver todas as fotos por exemplo…

Com o display tag eu não sei, porém vi isso com um framework de javascript chamado datatables

http://datatables.net/

Esqueci de perguntar, porém você quer paginação lazy (dados carregados do servidor)

Mas acredito que você vai precisar passar para o método a página que está para fazer a paginação e trazer a partir de uma parte tal, usando o setFirstResult.
Além disso vai precisar chamar o método setMaxResults para passar a quantidade de dados a se trazer.

Além disso você vai precisar saber a quantidade de dados da consulta trazendo um count.

Para a paginação efetivamente terá que pegar os filtros de consulta se existirem e a página para fazer uma consulta, talvez usando criteria.

Daí tem que ver com o framework de tabela como vai fazer para passar essas informações

Poww cara,
Valeu pela resposta.
Gostei muito desse datables.
Só que não sei como implementar isso. Você não tem algum tutorial, algum livro, algum coisa pra me dar luz?rsrsrs.
Acesso a págian deles, e vejo que é bacana, mas não sei como implementar isso na minha aplicação.rsrsrs.

Valeu.Bom dia!