Pessoal, estou usando VRaptor + Hibernate + Displaytag para listar dados e percebi que simplesmente setando a propriedade pagesize=“50” da displaytag, ele lista todos os registros, por exemplo, se tiver 100.000 registros, ele pega todos e só depois ele pagina, deixando muito lenta a página no momento de listar !!!
Como eu posso fazer para, alé de paginar na displaytag, paginar no List preenchido no meu DAO ??
Mas…como eu faria para ordenar coluna e paginar na displaytag e sincronizar isso no meu método ?? teria algum parâmetro que tenho que passar da displaytag ??
:arrow: Com o setMaxResults() defina o tamanho da página
:arrow: Use um contador para controlar as páginas exibidas (pág. 1, pág. 2, etc)
:arrow: Com o setFirstResult() defina qual será o primeiro item retornado a cada página. Algo como
int page = -1;
int pageSize = 20;
//...
return this.session.createCriteria(this.type).setMaxResults(pageSize).setFirstResult((page+1) * pageSize).list();
Aqui eu coloco a variável page na sessão do usuário. Coloco um link para avançar na tabela e outro para retroceder. Tenho um método paginar que recebe um enum que indica FORWARD ou REWARD, indicando se devo ir pra frente ou pra trás. Pego a variável page na sessão e faço +1 ou -1 conforme a necessidade.
Rodrigo, tem como eu exportar essa lista sem coloca-la na sessao, ja esta tudo configurado e funcionanado perfeitamente, paginação etc…mas na hora de exportar para pdf ou excel da esse erro: http://www.guj.com.br/posts/list/105706.java
mas se eu colocar o objeto na sessao fica show de bola…
Se a resposta acima for sim você pode extender as classes default(BaseExportView e PdfView) e alterar acrescentar as keys no displaytag.
export.excel.class=SuaClassCustomizadaExcel
export.pdf.class=SuaClassCustomizadaPdf
Se a resposta for não vai dar mais trabalho mas pode usar POI pra gerar o excel e Itext, jasper para gerar os pdf’s.
a resposta é sim… mas como assim? as minhas classes bean(entity,VO)? vao exterder dela?nao entendi muito bem…poderia me dar uma dica ou mostrar algum exemplo… valeu…