[RESOLVIDO] DisplayTag (VRaptor) + paginação + Filtro

Pessoal

Seguinte:

Tenho uma listagem que tende a ficar um tanto grande, por isso a estou paginando com a DisplayTag, utilizando partial list.

A paginação já está funcionando perfeitamente.

Contudo, a lista está crescendo rapidamente, e fica difícil localizar um determinado registro no meio dela. A saída é colocar um filtro acima da tabela.

A lista é de Usuário. Gostaria de filtrar pelo nome. O filtro está OK. Tenho um input onde coloco parte do nome e clico em filtrar… minha lista vem filtrada e paginada, porém, se tento mudar de página, não consigo enviar para meu controller os parametros de filtro utilizados, trazendo a segunda página da lista completa, e não dela filtrada.

Com certeza não sou o primeiro a me deparar com essa situação. Há algum meio de resolver sem ter que tirar a paginação da displaytag? Em outros projetos eu não tenho esse problema, pois uso a displaytag para listar os dados, mas todo o esquema de paginação eu desenvolvi. Nesse projeto estou tentando usar a paginação e ordenação que a displaytag oferece, de forma a facilitar a manutenção posterior desse código, mas preciso de uma solução para este problema, ou terei de voltar ao meu modelo de paginação, que é muito mais trabalhoso, mas permite que eu faça paginação de listas filtradas.

Se alguém puder me ajudar agradeço.

Abs

Bom

Como ninguém soube me ajudar, tive que me virar… e pra minha surpresa, foi tranquilo de resolver isso.

Vai ai a dica para se alguem parar nisso tbm.

A DisplayTag mantém os atributos que vem na url, ela só adiciona os atributos necessários para ordenação e paginação.

Dessa forma, bastou por um formulário de filtro, que quando ele é submetido, os links mantém os parametros.

Detalhe: pelo que me parece, esse formulário tem que, obrigatoriamente, utilizar method get, senão a displaytag não mantém.

Qualuqer dúvida estamos ai.

Abs