Utilisez AJAX pour charger les pages au lieu de procéder à une actualisation matérielle. Avec cette approche, chaque clic de case à cocher peut être enregistré et stocké dans un tableau qui persistera car la page n'est pas actualisée.
Pour ce faire, dans jQuery, utilisez quelque chose comme:
$("#tableContainer").load("/data/page/2");
Ce chargerait le contenu de l'URL, et l'injecter dans un élément avec id « tableContainer ».
Les événements en direct dans jQuery permettront de liaison à toutes les cases à cocher (actuelle et future):
$("#tableContainer input[type='checkbox']").live("click", function() {
if($(this).is(':checked')) {
checkedItems.add($(this).val());
}
}
Ce n'est pas complet que vous auriez à supprimer un élément du tableau si elle était sans contrôle, et modifier votre servlet pour envoyer seulement une partie de la page qui change. Mais j'espère que vous avez eu l'idée. JQuery a une bonne documentation sur les événements ajax et live.