Bom dia pessoal.
Precisava de sugestões em relação a paginação. Minha aplicação utiliza jsf(richfaces) + jsp. O que vocês sugerem para implementar paginação ?
Bom dia pessoal.
Precisava de sugestões em relação a paginação. Minha aplicação utiliza jsf(richfaces) + jsp. O que vocês sugerem para implementar paginação ?
[quote=efcjunior]Bom dia pessoal.
Precisava de sugestões em relação a paginação. Minha aplicação utiliza jsf(richfaces) + jsp. O que vocês sugerem para implementar paginação ?[/quote]
A paginação default do RichFaces é carregar tudo pra memória, o que é péssimo pois joga a performance lá pra baixo… sugiro implementar uma paginação por demanda o que melhora consideravelmente a performance.
[]'s Hewerton Crisóstomo
Pois é encontrei algumas dicas sobre isso mesmo. Não estou conseguindo entender os tutoriais. Se alguém tiver alguma indicação de tutorial.
Estes links tem tudo que precisa:
url=http://cagataycivici.wordpress.com/2009/09/28/lazy-loading-jsf-datatable/
http://eclecticprogrammer.com/2008/07/30/a-generic-superclass-for-sorting-and-paginating-in-the-database-with-richfaces/
http://www.ilikespam.com/blog/paging-large-data-sets-with-a-lazylist
http://www.jboss.org/index.html?module=bb&op=viewtopic&t=130902
Esse link abaixo, especificamente, aborda um exemplo prático de paginação por demanda com RichFaces
http://www.jboss.org/index.html?module=bb&op=viewtopic&t=125952
[]'s Hewerton Crisóstomo
Legal…Estou tentando implementar, por isso com algumas dúvidas:
1- wrappedKeys seria a chave primária da minha tabela e wrappedData serial os dados da minha tabela ?
#
private List<Integer> wrappedKeys = null;
#
private final Map<Integer, FolderDTO> wrappedData = new HashMap<Integer, FolderDTO>();
2- o método findFolders eu que tenho que fornecer. Ele tem que ir de novo no banco ?
#
@Override
#
public void walk(FacesContext context, DataVisitor visitor, Range range, Object argument) throws IOException
#
{
#
if (detached && getSortFieldObject() != null)
#
{
#
for (Integer key : wrappedKeys)
#
{
#
setRowKey(key);
#
visitor.process(context, key, argument);
#
}
#
} else
#
{
#
int firstRow = ((SequenceRange) range).getFirstRow();
#
int numberOfRows = ((SequenceRange) range).getRows();
#
wrappedKeys = new ArrayList<Integer>();
#
for (FolderDTO folder : serviceForms.findFolders(firstRow, numberOfRows, sortField, descending)
#
{
#
wrappedKeys.add(folder.getPk());
#
wrappedData.put(folder.getPk(), folder);
#
visitor.process(context, folder.getPk(), argument);
#
}
#
}
#
}
galera onde eu acho o jar dessa classe: com.redi5.util.LogFactory