Pessoal, sei q um monte de gente aqui usa a DisplayTag para paginar listas a serem exibidas em JSPs. Mas estou usando a DisplayTag para fazer esta paginação no banco, ao invés de carregar toda uma lista gigante na memória e deixar q ela pagine automaticamente.
A documentação sobre como fazer isto é muito escassa, e por isso qualquer ajuda aqui seria de grande valia.
Seguinte, para paginar no banco, ao inves de passar uma colecao qualquer ao display:table, deve-se passar um objeto que implemente a interface import org.displaytag.pagination.PaginatedList. Além disso, no JSP deve-se informar ao display:table que a paginacao é manual, de modo que ele possa construir os links para buscar no banco ao inves de paginar ele mesmo.
Acontece que eu implementei a paginacao manualmente, e funcionou, mas o bicho tah pegando eh com a ordenacao. Olha soh o codigo JSP:
<display:table requestURI="autoridades.do?sender=btPaginar" name="sessionScope.autoridades" class="padrao" sort="external" pagesize="10" id="a" cellpadding="0" cellspacing="0" >
<display:column title="Autoridade" sortable="true" sortName="Autoridade" headerClass="sortable">
${a.nome}
</display:column>
<display:column title="Cargo" sortable="true" sortName="Cargo" headerClass="sortable">
${a.cargo}
</display:column>
<display:column title="Aniversário" sortable="true" headerClass="sortable">
<c:if test="${a.diaAniversario > 0 && a.mesAniversario > 0}">
${a.diaAniversario}/${a.mesAniversario}
</c:if>
</display:column>
<display:column class="largura70" media="html" title=" " headerClass="sortable">
<a href="javascript: go(document.AutoridadesForm,'btVisualizar${a.codigo}')"><img src="./images/5a.gif" border="0" alt="Visualizar" /></a>
<a href="javascript: go(document.AutoridadesForm,'btEditar${a.codigo}')"><img src="./images/editar.gif" border="0" alt="Editar" /></a>
<a href="javascript: go(document.AutoridadesForm,'btExcluir${a.codigo}')"><img src="./images/cancelar.gif" border="0" alt="Excluir" /></a>
</display:column>
Em display:table tem a opcao sort="external" que diz que os links nos cabecalhos das colunas ordenaveis devem montar uma url que contenha o parametro sort="XXX", onde XXX eh o sortName da coluna. Por exemplo, como a culuna Autoridade tem o sortName="Autoridade", entao a url tinha que ser algo do tipo:
xxxx?sort=Autoridade&xxxxx
mas ela esta sendo:
xxxx?sort=&xxxxx
Ou seja, tah ignorando o sortName!
Alguem tem alguma ideia de onde estah o problema???
Valeu!