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+Tomahawk+débutant] dataTable - problème de rafraichissement


Sujet :

JSF Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [JSF+Tomahawk+débutant] dataTable - problème de rafraichissement
    Bonjour à tous,

    Je débute avec JSF. je bloque sur un problème.

    Brièvement la navigation
    - une page où je saisie un identifiant (h:inputText)
    - une page où j'affiche la dataTable (h:dataTable)

    Entre les 2, un contrôleur qui récupère l'identifiant saisi, initialise le bean (dataModel) qui servira à l'affichage dans la dataTable. Ce bean est alimenté à l'aide d'un webservice, mais peu importe on pourrait très bien bouchonner et inititaliser la liste sans passer par le webservice.
    Jusque là tout va bien, j'arrive bien à produire l'affichage de mes données dans la seconde page.

    Où je coince, c'est quand dans ma deuxième page je veux cocher une case (h:selectBooleanCheckbox) pour réafficher la même page mais en éliminant quelques lignes (soldes=0 par exemple) dans mon bean.
    J'appelle pour cela le même contrôleur, mais je coince car je récupère l'information de ma case à cocher qu'après une réinitialisation du bean.

    J'ai donc essayé de forcer la mise à jour de mon bean lors de la récupération de la valeur de la case à cocher. Mais cela ne prend pas en compte le bean modifié lors de l'affichage.

    Mon traitement d'élimination de lignes fonctionne bien (je le vois dans mes traces où en mode debug)
    J'ai l'impression que je n'ai pas capté quelque chose dans le cycle de vie JSF.

    Je vais essayer de vous préparer un proto pour vous fournir du code plus simple.
    Mais si vous avez déjà des pistes à m'indiquer vous pouvez déjà me questionner si je n'ai pas été assez clair ou pour avoir des infos sur ce que j'ai déjà fait, je réponderai volontiers.

    Merci d'avance
    m@nu

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    949
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 949
    Points : 1 856
    Points
    1 856
    Par défaut
    Dans le fichier de configuration, on peut configurer la durée de vie d'un bean. Il est probablement sur request, faites le passer en session ou en application.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par BugFactory Voir le message
    Dans le fichier de configuration, on peut configurer la durée de vie d'un bean. Il est probablement sur request, faites le passer en session ou en application.
    Merci pour la piste !
    Je pense que çà ne marche pas dans mon cas, en fait mon bean de données est un attribut de mon bean (managed-bean) et c'est la que çà cloche

    Je repotasse quelques tutos
    Je vous fais un proto avec du code çà sera plus clair (et pour moi et pour vous )

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Salut manoo

    Pour faire simple, il faut absolument que lors de lorsque le browser soumet le click sur le command button au server, la liste de données soit présente. Ce que va dire le browser c'est "j'ai cliqué sur la le bouton X de la 5ème ligne du datatable Y se trouvant dans le form Z" Si le serveur n'a plus de données à ce moment là (phase Apply Request Values) parceque le managed bean est de type request-scope, çà va foirer. Si t'as pas envie de te casser la nenette à stocker ton bean ou ta liste en session scope ou a régénérer ta liste de données à chaque appel du getter, tu peux t'orienter vers le t:dataTable de la librairie de composants "Tomahawk". Elle fait la même chose mais a en plus un parametre "preserveDataModel" qui va stocker les données associées à la table dans la session jusque la prochaine requête.

Discussions similaires

  1. Problème de rafraichissement d'une page JSF
    Par pims42 dans le forum JSF
    Réponses: 5
    Dernier message: 28/01/2013, 21h22
  2. Tri et pagination datatable JSF Tomahawk
    Par midosd dans le forum JSF
    Réponses: 0
    Dernier message: 12/01/2012, 11h16
  3. [JSF + EJB3] débutant, problème à la création
    Par MaxLaMenaX dans le forum JSF
    Réponses: 2
    Dernier message: 18/06/2009, 14h13
  4. jsf rich:dataTable (problème avec getRowData)
    Par salimrok dans le forum JSF
    Réponses: 4
    Dernier message: 28/01/2009, 13h57
  5. Débutant problème de rafraichissement
    Par Galak extra dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 16/07/2007, 16h09

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