IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

JSF-Facelets : DataTable + Filtre + case à cocher


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 28
    Par défaut 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

  2. #2
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 28
    Par défaut Autre possibilité
    Est-il possible de sauvegarder des paramètres pour le temps d'un ensemble d'échange ainsi lorsque l'utilisateur change de page les propriétés sont détruites ?

  3. #3
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 28
    Par défaut Une première réponse
    Il existe dans les JSF d'apache une proriété preserveDataModel qui sauvegarde les données entre deux requêtes par sérialisation.
    Ainsi en mode Request, l'aller et le retour seraient cohérents.

    A suivre ...

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Citation Envoyé par MdoDev Voir le message
    Bonjour,

    J'utilise les JSF (et plus particulièrement Facelets).


    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 ?
    l'ordre doit être le même que l'ordre des composants dans la page, tu mets le code d'initialisation dans les getters/setters?
    Citation Envoyé par MdoDev Voir le message


    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
    juste avec JSF pure ce n'est pas possible, par contre, avec Richfaces, ou tomahawk, tu peux garder le bean le temps de l'échange.
    avec Richfaces a4j:keepAlive.

  5. #5
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 28
    Par défaut 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 ?

    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.

    Merci pour cette 1ère réponse.

  6. #6
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 28
    Par défaut
    Citation Envoyé par MdoDev Voir le message
    Ce n'est pas expressement défini comme tel dans la documentation ?[/COLOR]
    Si Faces-Config permet de faire des up et down, c'est pour gérer les priorités des setters. Donc j'édite pour que cela soit dans l'ordre nécessaire.

    Citation Envoyé par MdoDev Voir le message
    Finalement, j'ai utilisé tomahawk
    Le t:saveState répond à tous mes besoins. Dans le cas du preserveDataModel c'était mieux optimiser car il n'y avait de sérialiser que les données affichées. Mais la manipulation du datatable était mal adaptée.

    Citation Envoyé par MdoDev Voir le message
    framework JSF, peut-on les faire cohabiter sans problème ?
    J'ai utilisé le template de sun au lieu du template d'apache car les données html n'était plus rendue dans le bon ordre dans la page (d'abord le rendu des balises serveurs puis les données html). Cela n'avait peut-être rien avoir avec des incompatibilités de Framework !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Filtre sur case à cocher (feuille de données)
    Par Kristtof dans le forum VBA Access
    Réponses: 2
    Dernier message: 27/02/2013, 13h47
  2. [AC-2010] Filtre requête par case à cocher
    Par alexbrabo dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 30/01/2013, 09h45
  3. [MIGRATION] champ de type "case à cocher"
    Par The_Nail dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 10/05/2011, 11h07
  4. Réponses: 2
    Dernier message: 08/12/2009, 15h00
  5. [CR] Création de tableau et case à cocher
    Par aysse dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 26/11/2003, 17h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo