JSF-Facelets : DataTable + Filtre + case à cocher
Bonjour,
J'utilise les JSF (et plus particulièrement Facelets).
Situation :
J'ai créé un écran avec un datatable correspondant à la liste de mes utilisateurs. Le nombre d'utilisateur potentiel étant important, j'ai mis en place une fonction de recherche.
A chaque item de ma liste est associé une case à cochée. La sélection me permet de supprimer de 1 à n utilisateurs simultanéments.
Pb cas 1 :
Les JSF effectuent d'abord un get de ma liste pour mettre à jour les états des cases à cocher. Seulement, en scope Request, ma liste dépend des critères de recherche. La liste est systématiquement récupérée avant que mes paramètres de recherche soient restaurés.
Peut-on définir un ordre de priorité dans les setter ?
Pb cas 2 :
Je passe en scope Session et conserve ma dernière liste transmise en session pour qu'il y ai adéquation entre ma liste et la sélection des cases à cocher.
Seulement, j'utilise un autre écran pour l'ajout des utilisateurs. Si je reviens (navigation rule jsf) dans mon écran des utilisateurs alors la liste n'est pas actualisée car elle est conservée en session.
Existe-il un moyen de tester si nous sommes en "post back" ou que l'appel provient d'une autre page ?
Je ne maîtrise pas très bien le java, soyez simple et précis. svp :oops:
Résolu mais ce n'est pas très beau
:? Non je n'utilise pas l'intialisation des propriétés, je ne pensais pas que l'ordre pouvait être prise en compte à ce niveau. Ce n'est pas expressement défini comme tel dans la documentation ?
:yaisse2: Finalement, j'ai utilisé le datatable de tomahawk qui possède la propriété preserveDataModel. Celle-ci sérialize les enregistrements dans la viewstate et ainsi je récupère le datatable dans le même format qu'à l'appel précédent. Ensuite, je manipule le datatable pour lire les sélections de l'utilisateur.
:? Au sujet des framework JSF, peut-on les faire cohabiter sans problème ?
Par exemple : du sun avec de l'apache, ice et du Richfaces.
:king: Merci pour cette 1ère réponse.