Bom dia,
Estou procurando entender mellhor como funciona a paginação de dados em uma pagina web, seja através de um displaytag ou até mesmo de um datatable.
Por exemplo, listagem de produtos de um supermercado:
Ao meu entender, quando chamo uma Action/Controller que executa um método DAO que retornará uma collection de todos produtos(1000 rows), e esse será setada como atributo da minha requisição, imaginemos que configurei meu datatable/displaytag para exibir 10 registros por página, assim, teriamos 100 paginas de 10 registros.
Bom, agora começa minha dúvida:
-
Relacionado ao caso acima, quando eu clicar na página 2, será realizada uma nova requisição?
Não sei se estou enganado. mas debugando o sistema percebi que uma nova request foi gerada, o que me fez perceber que de 1000 rows retornadas, usei apenas 10, e o resto foi tudo descartado. -
Andei lendo sobre paginação sob demanda e notei qua a cada “nova pagina datatable/displaytag” uma requisição é criada, mas a vantagem é que será retornado apenas os registros para cada uma. É correto afirmar isso?
-
Como fica o servidor nesses casos?? Pelo que compreendi, tais “Collections” são geradas e repassadas para a requisação, acredito que essas não consomem memória RAM do server depois disso, mas, o que ocorrerá caso eu sete esses collections como atributo da sessão?
Desde já agradeço!